forked from Kagami/ffmpeg.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ffmpeg-mpeg.js
1 lines (1 loc) · 354 KB
/
ffmpeg-mpeg.js
1
var Module=typeof Module!=="undefined"?Module:{};var __ffmpegjs_utf8ToStr;var __ffmpegjs_print=function(){};var __ffmpegjs_printErr=function(){};var __ffmpegjs_initialized=false;Module={"print":function(line){debugger;__ffmpegjs_print(line)},"printErr":function(line){__ffmpegjs_printErr(line)},"onRuntimeInitialized":function(){__ffmpegjs_initialized=true}};function __ffmpegjs(__ffmpegjs_opts){__ffmpegjs_utf8ToStr=UTF8ArrayToString;__ffmpegjs_opts=__ffmpegjs_opts||{};var __ffmpegjs_return;function __ffmpegjs_toU8(data){if(Array.isArray(data)||data instanceof ArrayBuffer){data=new Uint8Array(data)}else if(!data){data=new Uint8Array(0)}else if(!(data instanceof Uint8Array)){data=new Uint8Array(data.buffer)}return data}Object.keys(__ffmpegjs_opts).forEach(function(key){if(["mounts","MEMFS","arguments","print","printErr"].indexOf(key)===-1){Module[key]=__ffmpegjs_opts[key]}});if("print"in __ffmpegjs_opts)__ffmpegjs_print=__ffmpegjs_opts["print"];if("printErr"in __ffmpegjs_opts)__ffmpegjs_printErr=__ffmpegjs_opts["printErr"];Module["preInit"]=function(){if(ENVIRONMENT_IS_NODE){exit=Module["exit"]=function(status){ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status);throw new ExitStatus(status)}}};Module["preRun"]=function(){(__ffmpegjs_opts["mounts"]||[]).forEach(function(mount){var fs=FS.filesystems[mount["type"]];if(!fs){throw new Error("Bad mount type")}var mountpoint=mount["mountpoint"];if(!mountpoint.match(/^\/[^\/]+$/)||mountpoint==="/."||mountpoint==="/.."||mountpoint==="/tmp"||mountpoint==="/home"||mountpoint==="/dev"||mountpoint==="/work"){throw new Error("Bad mount point")}FS.mkdir(mountpoint);FS.mount(fs,mount["opts"],mountpoint)});FS.mkdir("/work");FS.chdir("/work");(__ffmpegjs_opts["MEMFS"]||[]).forEach(function(file){if(file["name"].match(/\//)){throw new Error("Bad file name")}var fd=FS.open(file["name"],"w+");var data=__ffmpegjs_toU8(file["data"]);FS.write(fd,data,0,data.length);FS.close(fd)})};Module["postRun"]=function(){function listFiles(dir){var contents=FS.lookupPath(dir).node.contents;var filenames=Object.keys(contents);if(contents.__proto__&&contents.__proto__.name==="__proto__"){filenames.push("__proto__")}return filenames.map(function(filename){return contents[filename]})}var inFiles=Object.create(null);(__ffmpegjs_opts["MEMFS"]||[]).forEach(function(file){inFiles[file.name]=null});var outFiles=listFiles("/work").filter(function(file){return!(file.name in inFiles)}).map(function(file){var data=__ffmpegjs_toU8(file.contents);return{"name":file.name,"data":data}});__ffmpegjs_return={"MEMFS":outFiles}};Module["callMain"](__ffmpegjs_opts["arguments"]||[]);return __ffmpegjs_return}__ffmpegjs["ready"]=function(fn){if(__ffmpegjs_initialized){fn()}else{Module["onRuntimeInitialized"]=fn}};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_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;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;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};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);if(typeof module!=="undefined"){module["exports"]=Module}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(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"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}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=parseInt(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 functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};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":1494,"maximum":1494,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;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(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[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,outU8Array,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;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[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 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;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=649360,STACKTOP=STACK_BASE,DYNAMIC_BASE=5892240,DYNAMICTOP_PTR=649152;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_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();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_trunc=Math.trunc;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"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="ffmpeg-mpeg.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"){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_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;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)&&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(){___emscripten_environ_constructor()}});var tempDoublePtr=649344;var EMTSTACKTOP=getMemory(1048576);var EMT_STACK_MAX=EMTSTACKTOP+1048576;var eb=getMemory(77632);__ATPRERUN__.push(function(){HEAPU8.set([140,0,193,0,0,0,0,0,2,184,0,0,81,1,0,0,2,185,0,0,65,1,0,0,2,186,0,0,88,1,0,0,136,187,0,0,0,180,187,0,136,187,0,0,1,188,176,30,3,187,187,188,137,187,0,0,1,187,32,27,3,161,180,187,1,187,64,18,3,160,180,187,1,187,24,27,3,179,180,187,1,187,16,27,3,177,180,187,1,187,8,27,3,176,180,187,1,187,0,27,3,175,180,187,1,187,248,26,3,173,180,187,1,187,240,26,3,172,180,187,1,187,224,26,3,171,180,187,1,187,216,26,3,170,180,187,1,187,208,26,3,169,180,187,1,187,192,26,3,168,180,187,1,187,176,26,3,167,180,187,1,187,168,26,3,166,180,187,1,187,160,26,3,165,180,187,1,187,152,26,3,153,180,187,1,187,144,26,3,152,180,187,1,187,112,26,3,151,180,187,1,187,104,26,3,150,180,187,1,187,96,26,3,149,180,187,1,187,88,26,3,148,180,187,1,187,80,26,3,147,180,187,1,187,72,26,3,146,180,187,1,187,64,26,3,145,180,187,1,187,56,26,3,144,180,187,1,187,48,26,3,143,180,187,1,187,40,26,3,142,180,187,1,187,32,26,3,141,180,187,1,187,24,26,3,140,180,187,1,187,16,26,3,139,180,187,1,187,248,25,3,138,180,187,1,187,224,25,3,137,180,187,1,187,192,25,3,136,180,187,1,187,176,25,3,135,180,187,1,187,168,25,3,134,180,187,1,187,120,25,3,133,180,187,1,187,112,25,3,132,180,187,1,187,104,25,3,131,180,187,1,187,96,25,3,130,180,187,1,187,88,25,3,129,180,187,1,187,80,25,3,128,180,187,1,187,72,25,3,127,180,187,1,187,64,25,3,126,180,187,1,187,56,25,3,125,180,187,1,187,48,25,3,124,180,187,1,187,40,25,3,123,180,187,1,187,32,25,3,122,180,187,1,187,24,25,3,121,180,187,1,187,16,25,3,120,180,187,1,187,8,25,3,119,180,187,1,187,0,25,3,118,180,187,1,187,248,24,3,117,180,187,1,187,240,24,3,116,180,187,1,187,232,24,3,115,180,187,1,187,224,24,3,114,180,187,1,187,216,24,3,113,180,187,1,187,208,24,3,112,180,187,1,187,176,24,3,111,180,187,1,187,168,24,3,110,180,187,1,187,160,24,3,109,180,187,1,187,152,24,3,108,180,187,1,187,136,24,3,107,180,187,1,187,120,24,3,106,180,187,1,187,112,24,3,105,180,187,1,187,104,24,3,104,180,187,1,187,80,24,3,103,180,187,1,187,72,24,3,102,180,187,1,187,64,24,3,101,180,187,1,187,56,24,3,100,180,187,1,187,48,24,3,159,180,187,1,187,40,24,3,158,180,187,1,187,24,24,3,157,180,187,1,187,8,24,3,156,180,187,1,187,240,23,3,155,180,187,1,187,224,23,3,154,180,187,1,187,216,23,3,35,180,187,1,187,208,23,3,34,180,187,1,187,200,23,3,33,180,187,1,187,184,23,3,32,180,187,1,187,176,23,3,31,180,187,1,187,168,23,3,30,180,187,1,187,152,23,3,29,180,187,1,187,136,23,3,28,180,187,1,187,128,23,3,27,180,187,1,187,120,23,3,26,180,187,1,187,104,23,3,25,180,187,1,187,96,23,3,24,180,187,1,187,88,23,3,23,180,187,1,187,72,23,3,22,180,187,1,187,64,23,3,19,180,187,1,187,48,23,3,20,180,187,1,187,32,23,3,21,180,187,1,187,24,23,3,15,180,187,1,187,8,23,3,16,180,187,1,187,136,22,3,162,180,187,1,187,64,2,3,67,180,187,1,187,64,1,3,78,180,187,25,89,180,64,1,187,64,22,3,95,180,187,1,187,168,29,3,164,180,187,1,187,136,29,3,96,180,187,1,187,104,29,3,97,180,187,1,187,72,29,3,98,180,187,1,187,40,29,3,99,180,187,1,187,8,29,3,68,180,187,1,187,232,28,3,69,180,187,1,187,200,28,3,70,180,187,1,187,168,28,3,71,180,187,1,187,136,28,3,72,180,187,1,187,192,27,3,73,180,187,1,187,184,27,3,74,180,187,1,187,176,27,3,75,180,187,1,187,168,27,3,76,180,187,1,187,160,27,3,77,180,187,1,187,152,27,3,79,180,187,1,187,144,27,3,80,180,187,1,187,136,27,3,81,180,187,1,187,128,27,3,82,180,187,1,187,120,27,3,83,180,187,1,187,112,27,3,84,180,187,1,187,104,27,3,85,180,187,1,187,96,27,3,86,180,187,1,187,104,28,3,87,180,187,1,187,72,28,3,88,180,187,1,187,40,28,3,90,180,187,1,187,8,28,3,91,180,187,1,187,232,27,3,92,180,187,1,187,200,27,3,93,180,187,0,163,180,0,1,187,104,30,3,94,180,187,1,187,40,30,3,174,180,187,1,187,232,29,3,178,180,187,1,188,0,0,1,189,0,4,135,187,0,0,160,188,189,0,2,187,0,0,116,224,9,0,82,13,187,0,1,187,0,0,47,187,187,13,212,5,0,0,2,187,0,0,112,224,9,0,82,14,187,0,2,187,0,0,76,224,9,0,82,66,187,0,26,12,66,1,2,187,0,0,72,224,9,0,82,8,187,0,36,187,66,0,121,187,30,0,1,3,0,0,41,187,3,2,94,0,14,187,106,5,0,28,1,187,0,0,47,187,187,5,12,5,0,0,106,6,0,24,25,2,0,20,1,1,0,0,41,187,1,2,94,187,6,187,106,0,187,4,121,0,9,0,25,0,0,8,82,187,0,0,36,187,187,255,121,187,5,0,82,187,2,0,32,187,187,1,121,187,2,0,85,0,12,0,25,1,1,1,53,187,1,5,208,4,0,0,25,3,3,1,52,187,3,13,212,5,0,0,119,0,229,255,1,7,0,0,41,187,7,2,94,0,14,187,106,9,0,28,1,187,0,0,47,187,187,9,200,5,0,0,106,10,0,24,25,11,0,20,25,6,0,16,1,5,0,0,41,187,5,2,94,187,10,187,106,0,187,4,121,0,26,0,25,3,0,8,82,187,3,0,36,187,187,255,121,187,22,0,82,187,11,0,32,187,187,1,121,187,19,0,82,187,6,0,82,187,187,0,106,2,187,4,0,1,12,0,41,187,1,2,94,187,8,187,45,187,2,187,156,5,0,0,0,0,1,0,119,0,8,0,26,0,1,1,1,187,0,0,47,187,187,1,180,5,0,0,0,1,0,0,119,0,245,255,119,0,1,0,85,3,0,0,25,5,5,1,53,187,5,9,72,5,0,0,25,7,7,1,53,187,7,13,32,5,0,0,2,187,0,0,84,224,9,0,82,0,187,0,1,187,0,0,47,187,187,0,128,6,0,0,1,3,0,0,2,187,0,0,80,224,9,0,82,187,187,0,41,189,3,2,94,1,187,189,106,187,1,96,121,187,27,0,25,2,1,88,1,187,0,0,82,189,2,0,47,187,187,189,116,6,0,0,25,1,1,12,1,0,0,0,135,64,1,0,135,65,2,0,2,187,0,0,72,224,9,0,82,187,187,0,82,189,1,0,3,189,189,0,41,189,189,2,94,187,187,189,25,66,187,40,85,66,64,0,109,66,4,65,25,0,0,1,82,187,2,0,54,187,0,187,40,6,0,0,2,187,0,0,84,224,9,0,82,0,187,0,25,3,3,1,54,187,3,0,240,5,0,0,2,187,0,0,76,224,9,0,82,0,187,0,1,187,0,0,47,187,187,0,152,10,0,0,1,7,0,0,2,187,0,0,72,224,9,0,82,187,187,0,41,189,7,2,94,8,187,189,25,1,8,16,82,187,1,0,121,187,122,0,106,2,8,24,25,3,8,20,82,0,3,0,120,2,3,0,1,66,36,0,119,0,134,0,109,0,32,8,1,189,34,0,109,0,120,189,1,189,144,1,1,187,71,0,97,0,189,187,1,187,188,2,1,189,1,0,97,0,187,189,2,187,0,0,243,179,3,0,1,188,1,0,1,190,0,0,1,191,0,0,135,189,3,0,0,187,188,190,191,0,0,0,82,189,3,0,106,189,189,16,2,191,0,0,1,112,1,0,45,189,189,191,132,7,0,0,82,189,1,0,38,189,189,1,121,189,19,0,1,191,140,0,3,191,8,191,2,190,0,0,40,135,2,0,2,188,0,0,25,8,3,0,1,187,16,0,135,189,4,0,191,190,188,187,82,189,1,0,38,189,189,2,121,189,7,0,1,187,0,0,1,188,24,0,2,190,0,0,52,135,2,0,135,189,5,0,187,188,190,15,1,189,140,0,3,0,8,189,2,190,0,0,173,179,3,0,2,188,0,0,222,179,3,0,1,187,16,0,135,189,4,0,0,190,188,187,25,5,8,4,82,189,5,0,25,64,189,16,106,65,64,4,82,189,3,0,1,187,4,3,3,66,189,187,116,66,64,0,109,66,4,65,82,189,0,0,2,188,0,0,150,164,3,0,1,190,0,0,1,191,0,0,135,187,6,0,189,188,190,191,120,187,8,0,2,191,0,0,150,164,3,0,2,190,0,0,62,252,3,0,1,188,0,0,135,187,4,0,0,191,190,188,82,187,5,0,106,187,187,48,1,188,0,4,19,187,187,188,121,187,8,0,2,188,0,0,150,164,3,0,2,190,0,0,25,8,3,0,1,191,0,0,135,187,4,0,0,188,190,191,135,6,7,0,8,0,0,0,34,187,6,0,121,187,3,0,1,66,46,0,119,0,39,0,82,187,3,0,135,2,8,0,187,2,0,0,34,187,2,0,121,187,3,0,1,66,48,0,119,0,32,0,82,187,0,0,2,191,0,0,191,227,9,0,1,190,0,0,1,188,2,0,135,0,6,0,187,191,190,188,121,0,3,0,1,66,53,0,119,0,22,0,2,188,0,0,76,224,9,0,82,0,188,0,25,66,8,64,1,188,0,0,85,66,188,0,2,190,0,0,0,0,0,128,109,66,4,190,25,66,8,48,1,190,0,0,85,66,190,0,2,188,0,0,0,0,0,128,109,66,4,188,25,7,7,1,49,188,0,7,228,8,0,0,1,66,58,0,119,0,111,0,119,0,110,255,32,188,66,36,121,188,17,0,106,188,0,16,135,64,9,0,188,0,0,0,82,65,8,0,106,188,8,4,82,4,188,0,85,16,64,0,109,16,4,65,109,16,8,4,1,190,0,4,2,191,0,0,243,134,2,0,135,188,10,0,160,190,191,16,1,4,228,255,119,0,69,0,32,188,66,46,121,188,24,0,82,1,8,0,82,188,5,0,82,0,188,0,0,7,163,0,25,8,7,64,1,188,0,0,85,7,188,0,25,7,7,4,54,188,7,8,76,9,0,0,1,191,64,0,135,188,11,0,6,163,191,0,85,21,1,0,109,21,4,0,109,21,8,163,1,191,0,4,2,190,0,0,175,135,2,0,135,188,10,0,160,191,190,21,0,4,6,0,119,0,44,0,32,188,66,48,121,188,30,0,2,188,0,0,88,80,77,212,45,188,2,188,180,9,0,0,135,188,12,0,119,0,36,0,82,1,8,0,82,188,5,0,82,0,188,0,0,7,164,0,25,8,7,64,1,188,0,0,83,7,188,0,25,7,7,1,54,188,7,8,200,9,0,0,1,190,64,0,135,188,11,0,2,164,190,0,85,20,1,0,109,20,4,0,109,20,8,164,1,190,0,4,2,191,0,0,235,135,2,0,135,188,10,0,160,190,191,20,0,4,2,0,119,0,13,0,32,188,66,53,121,188,11,0,116,19,0,0,1,191,0,0,1,190,8,0,2,187,0,0,215,133,2,0,135,188,5,0,191,190,187,19,1,187,1,0,135,188,13,0,187,0,0,0,1,188,0,0,2,187,0,0,92,224,9,0,82,187,187,0,47,188,188,187,148,10,0,0,1,0,0,0,2,187,0,0,88,224,9,0,82,187,187,0,41,190,0,2,94,187,187,190,106,187,187,80,135,188,14,0,187,0,0,0,25,0,0,1,2,188,0,0,92,224,9,0,82,188,188,0,54,188,0,188,92,10,0,0,119,0,2,0,1,66,58,0,32,188,66,58,121,188,113,0,2,188,0,0,92,224,9,0,82,0,188,0,1,188,0,0,47,188,188,0,16,11,0,0,1,4,0,0,1,2,0,0,2,188,0,0,88,224,9,0,82,188,188,0,41,187,2,2,94,1,188,187,1,188,8,1,94,188,1,188,120,188,8,0,135,4,15,0,1,160,0,0,34,188,4,0,120,188,93,0,2,188,0,0,92,224,9,0,82,0,188,0,25,2,2,1,54,188,2,0,196,10,0,0,119,0,2,0,1,4,0,0,2,188,0,0,84,224,9,0,82,10,188,0,1,188,0,0,47,188,188,10,236,11,0,0,2,188,0,0,80,224,9,0,82,11,188,0,2,188,0,0,72,224,9,0,82,12,188,0,1,9,0,0,41,188,9,2,94,0,11,188,82,1,0,0,1,188,104,4,94,13,1,188,121,13,33,0,25,8,0,12,1,188,108,4,94,6,1,188,1,5,0,0,41,188,5,2,94,7,6,188,106,1,7,16,120,1,3,0,1,0,48,0,119,0,19,0,82,2,8,0,106,3,7,12,1,0,0,0,41,188,0,2,94,188,3,188,3,188,188,2,41,188,188,2,94,188,12,188,106,188,188,8,120,188,3,0,1,0,0,0,119,0,7,0,25,0,0,1,50,188,1,0,204,11,0,0,1,0,48,0,119,0,2,0,119,0,242,255,109,7,8,0,25,5,5,1,53,188,5,13,112,11,0,0,25,9,9,1,53,188,9,10,72,11,0,0,2,188,0,0,100,224,9,0,82,0,188,0,1,188,0,0,47,188,188,0,100,12,0,0,1,3,0,0,2,188,0,0,96,224,9,0,82,188,188,0,41,187,3,2,94,1,188,187,82,2,1,0,106,188,2,8,106,188,188,28,1,187,0,16,19,188,188,187,121,188,10,0,106,188,2,24,120,188,8,0,135,4,16,0,1,3,0,0,34,188,4,0,120,188,7,0,2,188,0,0,100,224,9,0,82,0,188,0,25,3,3,1,54,188,3,0,8,12,0,0,1,187,0,0,1,190,32,0,2,191,0,0,36,136,2,0,135,188,5,0,187,190,191,161,2,188,0,0,76,224,9,0,82,0,188,0,1,188,0,0,47,188,188,0,208,13,0,0,1,9,0,0,2,188,0,0,72,224,9,0,82,188,188,0,41,191,9,2,94,7,188,191,1,188,248,0,3,8,7,188,1,188,0,0,82,191,8,0,47,188,188,191,196,13,0,0,1,188,244,0,3,2,7,188,25,3,7,4,25,5,7,24,1,1,0,0,82,191,2,0,41,190,1,2,94,191,191,190,106,191,191,8,135,188,17,0,191,0,0,0,120,188,46,0,82,188,3,0,82,6,188,0,82,0,5,0,120,0,4,0,2,0,0,0,146,166,2,0,119,0,2,0,82,0,0,0,82,188,2,0,41,191,1,2,94,188,188,191,106,65,188,12,116,22,7,0,109,22,4,6,109,22,8,0,109,22,12,65,1,191,0,0,1,190,32,0,2,187,0,0,53,136,2,0,135,188,5,0,191,190,187,22,1,188,1,0,2,187,0,0,116,224,9,0,82,187,187,0,47,188,188,187,144,13,0,0,82,188,2,0,41,187,1,2,94,188,188,187,106,188,188,8,116,23,188,0,1,187,0,0,1,190,32,0,2,191,0,0,80,136,2,0,135,188,5,0,187,190,191,23,1,191,0,0,1,190,32,0,2,187,0,0,232,0,4,0,135,188,5,0,191,190,187,24,25,1,1,1,82,188,8,0,54,188,1,188,216,12,0,0,2,188,0,0,76,224,9,0,82,0,188,0,25,9,9,1,54,188,9,0,152,12,0,0,1,188,0,0,2,187,0,0,92,224,9,0,82,187,187,0,47,188,188,187,240,16,0,0,1,6,0,0,2,188,0,0,88,224,9,0,82,188,188,0,41,187,6,2,94,2,188,187,1,188,64,1,94,0,2,188,120,0,169,0,1,188,8,1,3,0,2,188,82,1,0,0,121,1,46,0,106,187,1,8,135,188,17,0,187,0,0,0,120,188,42,0,82,188,0,0,25,188,188,12,116,26,188,0,1,187,0,0,1,190,32,0,2,191,0,0,120,136,2,0,135,188,5,0,187,190,191,26,1,188,1,0,2,191,0,0,116,224,9,0,82,191,191,0,47,188,188,191,140,14,0,0,82,188,0,0,106,188,188,8,116,27,188,0,1,191,0,0,1,190,32,0,2,187,0,0,80,136,2,0,135,188,5,0,191,190,187,27,106,1,2,4,106,0,2,88,120,0,4,0,2,0,0,0,146,166,2,0,119,0,2,0,82,0,0,0,116,28,2,0,109,28,4,1,109,28,8,0,1,187,0,0,1,190,32,0,2,191,0,0,125,136,2,0,135,188,5,0,187,190,191,28,119,0,131,0,25,0,2,8,2,188,0,0,72,224,9,0,82,188,188,0,82,191,0,0,41,191,191,2,94,63,188,191,106,188,63,4,82,64,188,0,82,65,2,0,106,1,2,4,116,29,63,0,109,29,4,64,109,29,8,65,109,29,12,1,1,191,0,0,1,190,32,0,2,187,0,0,149,136,2,0,135,188,5,0,191,190,187,29,106,1,2,24,2,188,0,0,72,224,9,0,82,188,188,0,82,187,0,0,41,187,187,2,94,188,188,187,46,188,1,188,112,15,0,0,106,188,1,4,82,65,188,0,116,30,1,0,109,30,4,65,1,187,0,0,1,190,32,0,2,191,0,0,175,136,2,0,135,188,5,0,187,190,191,30,1,188,52,1,94,188,2,188,120,188,64,0,2,188,0,0,72,224,9,0,82,188,188,0,82,191,0,0,41,191,191,2,94,188,188,191,106,0,188,24,106,3,2,88,120,0,6,0,2,5,0,0,146,166,2,0,2,0,0,0,146,166,2,0,119,0,17,0,82,1,0,0,106,188,0,12,135,0,18,0,188,0,0,0,120,0,4,0,2,0,0,0,146,166,2,0,119,0,2,0,106,0,0,8,135,188,19,0,1,0,0,0,32,5,188,0,2,188,0,0,198,136,2,0,125,5,5,188,1,0,0,0,120,3,6,0,2,2,0,0,146,166,2,0,2,1,0,0,146,166,2,0,119,0,17,0,82,2,3,0,106,188,3,12,135,1,18,0,188,0,0,0,120,1,4,0,2,1,0,0,146,166,2,0,119,0,2,0,106,1,1,8,135,188,19,0,2,1,0,0,32,65,188,0,2,188,0,0,198,136,2,0,125,2,65,188,2,0,0,0,85,32,0,0,109,32,4,5,109,32,8,1,109,32,12,2,1,191,0,0,1,190,32,0,2,187,0,0,205,136,2,0,135,188,5,0,191,190,187,32,119,0,7,0,1,187,0,0,1,190,32,0,2,191,0,0,190,136,2,0,135,188,5,0,187,190,191,31,1,191,0,0,1,190,32,0,2,187,0,0,232,0,4,0,135,188,5,0,191,190,187,33,119,0,12,0,82,64,2,0,106,65,2,4,85,25,0,0,109,25,4,64,109,25,8,65,1,187,0,0,1,190,32,0,2,191,0,0,92,136,2,0,135,188,5,0,187,190,191,25,25,6,6,1,2,188,0,0,92,224,9,0,82,188,188,0,54,188,6,188,236,13,0,0,120,4,7,0,2,188,0,0,108,224,9,0,1,191,1,0,85,188,191,0,1,66,123,0,119,0,12,0,85,34,160,0,1,188,0,0,1,190,16,0,2,187,0,0,227,136,2,0,135,191,5,0,188,190,187,34,1,191,0,0,49,191,191,4,56,17,0,0,1,66,123,0,32,191,66,123,121,191,158,18,2,191,0,0,20,8,2,0,82,191,191,0,121,191,7,0,1,187,0,0,1,190,32,0,2,188,0,0,231,136,2,0,135,191,5,0,187,190,188,35,135,64,1,0,135,65,2,0,2,191,0,0,188,224,9,0,82,191,191,0,120,191,60,16,25,29,162,4,25,30,162,4,25,31,160,4,2,191,0,0,164,26,2,0,82,32,191,0,25,33,162,4,25,34,161,12,25,35,162,4,25,36,160,4,25,37,161,12,25,38,162,4,25,39,160,4,25,40,161,12,25,41,161,12,25,26,95,32,25,42,162,4,25,43,95,28,25,44,95,36,25,45,95,56,25,46,95,16,25,27,78,4,25,25,162,4,25,24,67,4,25,28,89,4,25,47,162,4,25,48,95,8,25,49,76,4,25,50,75,4,25,51,77,4,25,52,79,4,25,53,73,4,25,54,74,4,25,55,82,4,25,56,86,4,25,57,80,4,25,58,81,4,25,59,83,4,25,60,85,4,25,61,84,4,135,62,1,0,135,63,2,0,2,191,0,0,20,8,2,0,82,191,191,0,121,191,106,2,2,191,0,0,104,224,9,0,82,191,191,0,121,191,3,0,1,66,209,0,119,0,173,15,2,23,0,0,152,223,9,0,82,191,23,0,106,188,23,4,135,23,20,0,62,63,191,188,135,22,2,0,34,188,22,0,32,191,22,0,2,190,0,0,160,134,1,0,16,190,23,190,19,191,191,190,20,188,188,191,2,191,0,0,184,224,9,0,82,191,191,0,33,191,191,0,20,188,188,191,120,188,80,2,0,7,30,0,25,8,7,124,1,188,0,0,85,7,188,0,25,7,7,4,54,188,7,8,168,18,0,0,1,188,1,0,85,162,188,0,1,188,0,0,85,160,188,0,1,188,0,0,85,31,188,0,1,191,1,0,1,190,0,0,1,187,0,0,135,188,21,0,191,162,190,187,160,0,0,0,36,188,188,0,121,188,6,0,2,23,0,0,152,223,9,0,85,23,62,0,109,23,4,63,119,0,54,2,1,188,0,0,1,187,1,0,135,4,22,0,188,161,187,0,32,188,4,1,121,188,4,0,79,188,161,0,0,187,188,0,119,0,2,0,0,187,4,0,0,4,187,0,2,23,0,0,152,223,9,0,85,23,62,0,109,23,4,63,1,188,43,0,1,190,73,0,138,4,188,190,20,27,0,0,116,20,0,0,40,27,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,60,27,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,116,20,0,0,180,27,0,0,116,20,0,0,188,27,0,0,32,3,4,99,39,188,4,32,1,191,99,0,1,192,2,0,138,188,191,192,148,20,0,0,36,24,0,0,119,0,152,1,1,190,0,0,1,191,0,1,135,187,0,0,89,190,191,0,2,191,0,0,8,137,2,0,1,190,62,0,1,189,1,0,135,187,23,0,191,190,189,32,1,189,0,0,135,187,24,0,189,161,0,0,120,187,8,0,82,187,34,0,39,187,187,8,85,34,187,0,1,189,0,0,1,190,0,0,135,187,25,0,189,190,161,0,1,1,0,0,1,187,255,15,16,2,1,187,0,7,35,0,25,8,7,124,1,187,0,0,85,7,187,0,25,7,7,4,54,187,7,8,252,20,0,0,1,187,1,0,85,162,187,0,1,187,0,0,85,160,187,0,1,187,0,0,85,36,187,0,1,187,0,0,1,189,1,0,1,191,0,0,1,192,0,0,135,190,21,0,189,162,191,192,160,0,0,0,47,187,187,190,108,21,0,0,1,187,0,0,1,190,1,0,135,0,22,0,187,161,190,0,33,190,0,1,120,190,4,0,79,0,161,0,119,0,2,0,1,0,255,255,120,2,2,0,119,0,16,0,1,190,10,0,1,187,4,0,138,0,190,187,152,21,0,0,148,21,0,0,148,21,0,0,156,21,0,0,119,0,3,0,119,0,7,0,119,0,6,0,36,190,0,0,120,190,212,255,95,67,1,0,25,1,1,1,119,0,207,255,1,187,0,0,95,67,1,187,1,190,0,0,135,187,24,0,190,161,0,0,120,187,8,0,82,187,40,0,38,187,187,247,85,40,187,0,1,190,0,0,1,192,0,0,135,187,25,0,190,192,161,0,1,192,10,0,135,187,26,0,192,32,0,0,1,187,0,0,47,187,187,0,232,23,0,0,85,154,163,0,109,154,4,95,109,154,8,78,109,154,12,89,2,187,0,0,71,137,2,0,135,0,27,0,67,187,154,0,36,187,0,2,121,187,3,0,1,66,173,0,119,0,113,0,86,17,95,0,85,155,163,0,111,155,8,17,109,155,16,78,109,155,20,89,1,192,0,0,1,190,48,0,2,191,0,0,101,137,2,0,135,187,5,0,192,190,191,155,2,187,0,0,116,224,9,0,82,187,187,0,36,187,187,0,120,187,97,0,38,187,3,1,0,2,187,0,121,3,39,0,1,0,0,0,2,187,0,0,112,224,9,0,82,187,187,0,41,191,0,2,94,187,187,191,106,1,187,8,121,1,24,0,86,187,95,0,59,191,0,0,71,187,187,191,121,187,13,0,1,187,0,16,135,23,28,0,1,163,78,89,67,187,2,0,85,156,0,0,109,156,4,23,109,156,8,67,2,191,0,0,237,137,2,0,135,187,29,0,32,191,156,0,119,0,8,0,2,191,0,0,156,137,2,0,1,190,80,0,1,192,1,0,135,187,23,0,191,190,192,32,119,0,1,0,25,0,0,1,2,187,0,0,116,224,9,0,82,187,187,0,56,187,187,0,240,23,0,0,119,0,220,255,1,1,0,0,2,187,0,0,112,224,9,0,82,187,187,0,41,192,1,2,94,187,187,192,106,0,187,8,121,0,39,0,86,17,95,0,59,187,0,0,71,187,17,187,121,187,13,0,1,187,0,16,135,23,28,0,0,163,78,89,67,187,2,0,85,157,1,0,109,157,4,23,109,157,8,67,2,192,0,0,237,137,2,0,135,187,29,0,32,192,157,0,119,0,23,0,1,187,0,0,135,0,30,0,0,163,78,89,187,17,0,0,1,187,0,0,56,187,187,0,204,23,0,0,0,7,164,0,25,8,7,64,1,187,0,0,83,7,187,0,25,7,7,1,54,187,7,8,152,23,0,0,1,192,64,0,135,187,11,0,0,164,192,0,85,158,164,0,2,192,0,0,25,138,2,0,135,187,29,0,32,192,158,0,25,1,1,1,2,187,0,0,116,224,9,0,82,187,187,0,54,187,1,187,24,23,0,0,119,0,3,0,1,0,0,0,1,66,173,0,1,187,173,0,45,187,66,187,32,24,0,0,1,66,0,0,85,159,0,0,109,159,4,67,1,192,0,0,1,190,16,0,2,191,0,0,63,138,2,0,135,187,5,0,192,190,191,159,119,0,180,0,1,187,0,0,85,67,187,0,32,187,4,68,121,187,23,0,2,187,0,0,72,224,9,0,82,187,187,0,82,187,187,0,106,187,187,4,106,187,187,8,1,191,64,2,94,187,187,191,41,187,187,1,0,0,187,0,32,187,0,0,1,191,1,0,125,0,187,191,0,0,0,0,38,191,0,64,120,191,2,0,119,0,4,0,41,191,0,1,0,0,191,0,119,0,251,255,85,67,0,0,119,0,100,0,1,187,0,0,135,191,24,0,187,161,0,0,120,191,8,0,82,191,37,0,39,191,191,8,85,37,191,0,1,187,0,0,1,190,0,0,135,191,25,0,187,190,161,0,1,1,0,0,35,2,1,31,0,7,38,0,25,8,7,124,1,191,0,0,85,7,191,0,25,7,7,4,54,191,7,8,200,24,0,0,1,191,1,0,85,162,191,0,1,191,0,0,85,160,191,0,1,191,0,0,85,39,191,0,1,191,0,0,1,187,1,0,1,192,0,0,1,189,0,0,135,190,21,0,187,162,192,189,160,0,0,0,47,191,191,190,56,25,0,0,1,191,0,0,1,190,1,0,135,0,22,0,191,161,190,0,33,190,0,1,120,190,4,0,79,0,161,0,119,0,2,0,1,0,255,255,120,2,2,0,119,0,16,0,1,190,10,0,1,191,4,0,138,0,190,191,100,25,0,0,96,25,0,0,96,25,0,0,104,25,0,0,119,0,3,0,119,0,7,0,119,0,6,0,36,190,0,0,120,190,212,255,95,78,1,0,25,1,1,1,119,0,208,255,1,191,0,0,95,78,1,191,1,190,0,0,135,191,24,0,190,161,0,0,120,191,8,0,82,191,41,0,38,191,191,247,85,41,191,0,1,190,0,0,1,189,0,0,135,191,25,0,190,189,161,0,1,189,10,0,135,191,26,0,189,32,0,0,34,191,0,1,121,191,3,0,1,66,193,0,119,0,9,0,85,100,67,0,2,189,0,0,55,255,3,0,135,191,27,0,78,189,100,0,33,191,191,1,121,191,2,0,1,66,193,0,1,191,193,0,45,191,66,191,24,26,0,0,1,66,0,0,2,189,0,0,142,138,2,0,1,190,26,0,1,192,1,0,135,191,23,0,189,190,192,32,2,191,0,0,76,224,9,0,82,1,191,0,1,191,0,0,47,191,191,1,104,26,0,0,82,2,67,0,2,191,0,0,72,224,9,0,82,3,191,0,1,0,0,0,41,191,0,2,94,191,3,191,106,191,191,4,106,191,191,8,1,192,64,2,97,191,192,2,25,0,0,1,53,192,0,1,68,26,0,0,2,192,0,0,92,224,9,0,82,2,192,0,1,192,0,0,47,192,192,2,184,26,0,0,2,192,0,0,88,224,9,0,82,3,192,0,82,0,67,0,1,1,0,0,41,192,1,2,94,192,3,192,106,192,192,80,1,191,64,2,97,192,191,0,25,1,1,1,53,191,1,2,148,26,0,0,119,0,2,0,82,0,67,0,120,0,3,0,1,0,0,0,119,0,5,0,1,192,48,0,135,191,31,0,192,0,0,0,82,0,67,0,85,101,0,0,2,192,0,0,169,138,2,0,135,191,29,0,32,192,101,0,119,0,1,0,33,188,4,63,120,188,58,0,2,191,0,0,179,138,2,0,1,192,83,1,1,190,1,0,135,188,23,0,191,192,190,32,119,0,51,0,135,188,32,0,25,188,188,10,135,187,31,0,188,0,0,0,119,0,46,0,135,188,32,0,26,188,188,10,135,187,31,0,188,0,0,0,119,0,41,0,2,188,0,0,188,223,9,0,82,188,188,0,120,188,15,0,2,188,0,0,192,223,9,0,82,188,188,0,120,188,6,0,2,188,0,0,192,223,9,0,1,187,1,0,85,188,187,0,119,0,14,0,2,187,0,0,188,223,9,0,1,188,1,0,85,187,188,0,119,0,9,0,2,188,0,0,192,223,9,0,1,187,0,0,85,188,187,0,2,187,0,0,188,223,9,0,1,188,0,0,85,187,188,0,1,187,48,0,135,188,31,0,187,0,0,0,119,0,11,0,1,66,209,0,119,0,82,13,2,187,0,0,216,223,9,0,2,188,0,0,216,223,9,0,82,188,188,0,40,188,188,1,85,187,188,0,119,0,1,0,2,188,0,0,92,224,9,0,82,188,188,0,36,188,188,0,121,188,3,0,1,66,222,0,119,0,67,13,1,4,0,0,2,188,0,0,88,224,9,0,82,188,188,0,41,190,4,2,94,0,188,190,2,188,0,0,96,224,9,0,82,188,188,0,82,190,0,0,41,190,190,2,94,5,188,190,1,188,44,1,94,188,0,188,120,188,113,0,82,188,5,0,106,1,188,16,121,1,21,0,1,188,0,0,1,190,0,0,1,192,1,0,135,22,33,0,1,188,190,192,135,20,2,0,25,23,5,32,106,21,23,4,16,192,20,21,45,188,20,21,124,28,0,0,82,188,23,0,16,188,22,188,0,190,188,0,119,0,3,0,1,188,0,0,0,190,188,0,20,192,192,190,120,192,2,0,119,0,90,0,106,23,0,20,34,192,23,0,41,192,192,31,42,192,192,31,0,21,192,0,25,22,0,96,106,20,22,4,15,192,21,20,45,188,20,21,200,28,0,0,82,188,22,0,16,188,23,188,0,190,188,0,119,0,3,0,1,188,0,0,0,190,188,0,20,192,192,190,120,192,81,0,82,192,5,0,106,192,192,24,121,192,69,0,25,1,5,8,1,0,0,0,2,192,0,0,88,224,9,0,82,192,192,0,82,190,1,0,3,190,190,0,41,190,190,2,94,2,192,190,2,192,0,0,96,224,9,0,82,192,192,0,82,190,2,0,41,190,190,2,94,3,192,190,1,192,44,1,3,23,2,192,82,192,23,0,39,192,192,1,85,23,192,0,106,192,3,40,121,192,42,0,25,16,2,32,25,21,2,40,82,192,16,0,106,190,16,4,82,188,21,0,106,191,21,4,135,21,20,0,192,190,188,191,135,16,2,0,106,191,2,80,25,23,191,76,1,191,1,0,85,162,191,0,2,191,0,0,64,66,15,0,85,29,191,0,116,160,23,0,106,188,23,4,109,160,4,188,116,161,162,0,106,191,162,4,109,161,4,191,135,16,34,0,21,16,160,161,135,21,2,0,25,23,3,16,0,22,23,0,82,19,22,0,106,22,22,4,15,191,21,22,13,188,22,21,16,190,16,19,19,188,188,190,20,191,191,188,0,20,191,0,125,191,20,16,19,0,0,0,85,23,191,0,125,188,20,21,22,0,0,0,109,23,4,188,25,0,0,1,82,188,5,0,106,188,188,24,55,188,0,188,236,28,0,0,25,4,4,1,2,188,0,0,92,224,9,0,82,188,188,0,49,188,188,4,20,30,0,0,1,66,222,0,119,0,188,12,119,0,122,255,1,188,0,0,2,191,0,0,92,224,9,0,82,191,191,0,47,188,188,191,176,80,0,0,1,8,0,0,1,6,0,0,2,7,0,0,255,255,255,127,1,5,255,255,2,188,0,0,88,224,9,0,82,188,188,0,41,191,8,2,94,4,188,191,25,3,4,12,82,2,3,0,1,188,200,0,3,1,2,188,82,0,1,0,106,1,1,4,32,188,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,188,188,191,121,188,6,0,1,1,0,0,2,0,0,0,0,0,0,128,1,66,229,0,119,0,35,0,25,2,2,16,1,188,1,0,85,162,188,0,2,188,0,0,64,66,15,0,85,33,188,0,116,160,2,0,106,191,2,4,109,160,4,191,116,161,162,0,106,188,162,4,109,161,4,188,135,1,34,0,0,1,160,161,135,0,2,0,82,2,3,0,1,188,200,0,3,23,2,188,82,191,23,0,32,191,191,0,121,191,7,0,106,191,23,4,2,190,0,0,0,0,0,128,13,191,191,190,0,188,191,0,119,0,3,0,1,191,0,0,0,188,191,0,121,188,3,0,1,66,229,0,119,0,3,0,1,188,56,1,3,2,4,188,1,188,229,0,45,188,66,188,132,31,0,0,1,66,0,0,106,19,2,4,1,188,56,1,3,23,4,188,82,20,23,0,1,188,60,1,94,21,4,188,1,188,44,1,94,22,4,188,116,103,2,0,109,103,4,19,109,103,8,20,109,103,12,21,109,103,16,22,1,191,0,0,1,190,48,0,2,192,0,0,55,140,2,0,135,188,5,0,191,190,192,103,0,2,23,0,82,188,2,0,120,188,6,0,1,188,60,1,94,188,4,188,120,188,3,0,1,66,232,0,119,0,33,0,15,188,0,7,13,192,0,7,16,190,1,5,19,192,192,190,20,188,188,192,1,192,44,1,94,192,4,192,32,192,192,0,19,188,188,192,121,188,8,0,1,188,48,1,94,188,4,188,32,188,188,0,1,192,0,0,125,2,188,4,192,0,0,0,119,0,4,0,0,2,6,0,0,1,5,0,0,0,7,0,25,8,8,1,2,192,0,0,92,224,9,0,82,4,192,0,49,192,4,8,16,32,0,0,1,66,236,0,119,0,5,0,0,6,2,0,0,7,0,0,0,5,1,0,119,0,138,255,1,192,232,0,45,192,66,192,56,32,0,0,1,66,0,0,0,23,4,0,119,0,56,0,1,192,236,0,45,192,66,192,20,33,0,0,1,66,0,0,120,2,50,0,36,192,4,0,121,192,3,0,1,66,247,0,119,0,23,12,2,192,0,0,88,224,9,0,82,3,192,0,1,0,0,0,41,192,0,2,94,192,3,192,1,188,48,1,94,192,192,188,120,192,7,0,25,0,0,1,49,192,4,0,148,32,0,0,1,66,247,0,119,0,9,12,119,0,246,255,2,192,0,0,84,224,9,0,82,1,192,0,1,192,0,0,47,192,192,1,220,32,0,0,2,192,0,0,80,224,9,0,82,2,192,0,1,0,0,0,41,192,0,2,94,192,2,192,1,188,0,0,109,192,8,188,25,0,0,1,53,188,0,1,192,32,0,0,1,0,0,0,41,188,0,2,94,188,3,188,1,192,48,1,1,190,0,0,97,188,192,190,25,0,0,1,53,190,0,4,224,32,0,0,1,192,16,39,135,190,35,0,192,0,0,0,119,0,234,11,0,23,2,0,1,190,8,1,3,6,23,190,82,0,6,0,120,0,3,0,1,66,33,1,119,0,247,0,106,1,0,8,106,2,1,8,120,2,73,0,106,3,1,20,1,190,0,0,47,190,190,3,136,33,0,0,106,4,1,16,1,2,0,0,41,190,2,2,94,5,4,190,106,190,5,24,34,190,190,0,121,190,4,0,106,190,5,16,35,190,190,2,120,190,8,0,25,2,2,1,49,190,3,2,132,33,0,0,1,66,255,0,119,0,3,0,119,0,243,255,1,66,255,0,1,190,255,0,45,190,66,190,208,33,0,0,1,66,0,0,135,0,36,0,1,0,0,0,34,190,0,0,121,190,8,0,1,192,0,0,1,188,16,0,2,191,0,0,218,140,2,0,135,190,5,0,192,188,191,105,119,0,208,0,82,0,6,0,119,0,1,0,120,0,3,0,1,66,33,1,119,0,203,0,106,1,0,8,106,0,1,8,120,0,30,0,106,3,1,20,1,190,0,0,47,190,190,3,72,34,0,0,2,190,0,0,80,224,9,0,82,4,190,0,106,1,1,16,1,0,0,0,41,190,0,2,94,190,1,190,106,2,190,4,94,190,2,186,120,190,8,0,82,190,2,0,41,190,190,2,94,190,4,190,106,190,190,4,120,190,3,0,1,66,36,1,119,0,179,0,25,0,0,1,54,190,0,3,12,34,0,0,1,190,60,1,1,191,1,0,97,23,190,191,119,0,152,11,0,0,2,0,1,191,56,1,94,191,23,191,120,191,15,0,1,190,0,0,1,188,0,4,135,191,0,0,160,190,188,0,135,191,15,0,23,160,0,0,34,191,191,0,121,191,3,0,1,66,6,1,119,0,157,11,82,191,6,0,106,9,191,8,106,0,9,8,119,0,2,0,0,9,1,0,135,0,37,0,0,0,0,0,1,191,255,255,47,191,191,0,200,34,0,0,1,191,0,0,135,0,38,0,191,0,0,0,119,0,141,0,34,191,0,250,121,191,80,0,2,191,0,0,187,176,185,223,1,188,1,0,138,0,191,188,232,34,0,0,119,0,136,0,119,0,1,0,1,191,1,0,135,0,38,0,191,0,0,0,25,6,9,28,82,1,6,0,36,191,1,0,120,191,125,0,25,5,9,24,1,4,0,0,82,191,5,0,41,188,4,2,94,191,191,188,106,2,191,4,2,191,0,0,96,224,9,0,82,191,191,0,82,188,2,0,41,188,188,2,94,3,191,188,1,191,44,1,3,23,2,191,82,191,23,0,39,191,191,1,85,23,191,0,106,191,3,40,121,191,43,0,25,19,2,32,25,22,2,40,82,191,19,0,106,188,19,4,82,190,22,0,106,192,22,4,135,22,20,0,191,188,190,192,135,19,2,0,106,192,2,80,25,1,192,76,1,192,1,0,85,162,192,0,2,192,0,0,64,66,15,0,85,42,192,0,116,160,1,0,106,190,1,4,109,160,4,190,116,161,162,0,106,192,162,4,109,161,4,192,135,19,34,0,22,19,160,161,135,22,2,0,25,1,3,16,0,23,1,0,82,20,23,0,106,23,23,4,15,192,22,23,13,190,23,22,16,188,19,20,19,190,190,188,20,192,192,190,0,21,192,0,125,192,21,19,20,0,0,0,85,1,192,0,125,190,21,22,23,0,0,0,109,1,4,190,82,1,6,0,25,4,4,1,56,190,1,4,248,36,0,0,119,0,194,255,1,190,250,255,1,192,1,0,138,0,190,192,32,36,0,0,119,0,58,0,119,0,1,0,25,7,9,20,82,0,7,0,1,190,0,0,47,190,190,0,188,36,0,0,25,8,9,16,1,1,0,0,1,6,0,0,1,2,0,0,82,190,8,0,41,192,6,2,94,3,190,192,106,5,3,4,2,190,0,0,80,224,9,0,82,190,190,0,82,192,5,0,41,192,192,2,94,4,190,192,106,190,4,8,120,190,12,0,106,190,4,4,120,190,10,0,82,190,3,0,135,22,39,0,190,0,0,0,15,0,1,22,125,1,0,22,1,0,0,0,125,2,0,5,2,0,0,0,82,0,7,0,25,6,6,1,54,190,6,0,72,36,0,0,121,2,3,0,1,66,36,1,119,0,19,0,106,2,9,28,36,190,2,0,120,190,252,10,106,1,9,24,1,0,0,0,41,190,0,2,94,190,1,190,106,190,190,4,1,192,48,1,1,188,1,0,97,190,192,188,25,0,0,1,52,188,0,2,180,80,0,0,119,0,247,255,1,188,0,0,56,188,188,0,180,80,0,0,1,188,33,1,45,188,66,188,60,37,0,0,106,0,23,8,36,188,0,255,121,188,3,0,1,66,34,1,119,0,248,10,2,188,0,0,72,224,9,0,82,188,188,0,41,192,0,2,94,2,188,192,1,66,36,1,1,188,36,1,45,188,66,188,144,80,0,0,82,20,2,0,2,188,0,0,80,224,9,0,82,188,188,0,41,192,20,2,94,22,188,192,82,21,22,0,25,19,22,96,82,188,19,0,120,188,4,0,0,0,21,0,1,66,42,1,119,0,53,0,25,3,22,88,1,188,0,0,82,192,3,0,47,188,188,192,68,38,0,0,25,1,22,12,1,0,0,0,2,188,0,0,72,224,9,0,82,188,188,0,82,192,1,0,3,192,192,0,41,192,192,2,94,66,188,192,25,16,66,56,82,188,16,0,106,192,16,4,2,190,0,0,64,66,15,0,1,191,0,0,2,189,0,0,64,66,15,0,1,187,0,0,135,16,40,0,188,192,190,191,189,187,0,0,135,14,2,0,135,13,1,0,135,15,2,0,25,66,66,40,82,187,66,0,106,189,66,4,135,66,20,0,13,15,187,189,135,15,2,0,25,0,0,1,15,189,15,14,13,187,14,15,16,191,66,16,19,187,187,191,20,189,189,187,121,189,3,0,1,66,43,1,119,0,9,0,82,189,3,0,54,189,0,189,152,37,0,0,82,0,22,0,1,66,42,1,119,0,3,0,0,0,21,0,1,66,42,1,1,189,42,1,45,189,66,189,32,80,0,0,1,66,0,0,134,0,0,0,120,9,1,0,0,95,0,0,32,189,0,250,121,189,3,0,1,66,43,1,119,0,107,10,34,189,0,0,121,189,241,1,25,15,22,16,82,189,15,0,121,189,137,1,25,16,22,88,82,0,16,0,1,189,0,0,47,189,189,0,12,39,0,0,25,5,22,12,1,4,0,0,2,189,0,0,72,224,9,0,82,189,189,0,82,187,5,0,3,187,187,4,41,187,187,2,94,1,189,187,106,3,1,20,106,189,1,16,121,189,13,0,1,189,0,0,1,191,0,0,1,190,1,0,135,187,41,0,1,191,190,0,47,189,189,187,244,38,0,0,1,0,0,0,119,0,76,10,135,189,42,0,3,0,0,0,82,0,16,0,25,4,4,1,54,189,4,0,168,38,0,0,1,189,40,4,3,0,21,189,82,14,0,0,106,0,0,4,1,189,255,255,1,187,0,0,2,190,0,0,0,0,0,128,1,191,0,0,135,0,43,0,21,189,187,190,14,0,14,0,191,0,0,0,34,191,0,0,121,191,9,0,1,190,0,0,1,187,24,0,2,189,0,0,79,141,2,0,135,191,5,0,190,187,189,108,1,66,93,1,119,0,69,1,82,1,16,0,1,191,0,0,47,191,191,1,148,43,0,0,2,191,0,0,72,224,9,0,82,6,191,0,25,14,22,12,82,5,14,0,1,0,0,0,1,4,0,0,3,191,4,5,41,191,191,2,94,3,6,191,106,191,3,20,106,191,191,8,32,191,191,1,121,191,10,0,25,13,3,120,82,191,13,0,32,191,191,0,106,189,13,4,32,189,189,0,19,191,191,189,1,189,1,0,125,0,191,0,189,0,0,0,25,4,4,1,53,189,4,1,148,39,0,0,25,12,22,24,25,13,22,32,25,11,22,36,121,0,110,0,1,10,0,0,0,3,5,0,0,0,6,0,3,189,10,3],eb+0);HEAPU8.set([41,189,189,2,94,8,0,189,106,0,8,20,106,189,0,8,32,189,189,1,121,189,91,0,25,4,8,120,82,3,4,0,106,4,4,4,32,189,3,0,32,191,4,0,19,189,189,191,120,189,84,0,1,189,1,0,85,162,189,0,3,189,0,186,116,47,189,0,25,9,8,4,82,189,9,0,25,0,189,16,116,160,162,0,106,191,162,4,109,160,4,191,116,161,0,0,106,189,0,4,109,161,4,189,135,0,34,0,3,4,160,161,135,1,2,0,0,6,12,0,82,5,6,0,106,6,6,4,32,189,5,0,32,191,6,0,19,189,189,191,0,7,189,0,121,7,9,0,82,189,9,0,25,4,189,16,82,3,4,0,106,4,4,4,0,181,13,0,85,181,3,0,109,181,4,4,119,0,3,0,82,3,13,0,82,4,11,0,25,182,8,104,25,181,8,96,82,189,182,0,106,191,182,4,82,187,181,0,106,190,181,4,135,181,20,0,189,191,187,190,135,190,2,0,135,0,44,0,181,190,0,1,135,1,2,0,82,181,9,0,106,9,181,16,106,181,181,20,85,162,3,0,85,25,4,0,85,67,9,0,85,24,181,0,121,7,3,0,1,66,81,1,119,0,15,0,116,160,162,0,106,187,162,4,109,160,4,187,116,161,67,0,106,190,67,4,109,161,4,190,135,190,45,0,5,6,160,0,1,161,0,0,34,190,190,0,121,190,3,0,1,66,81,1,119,0,2,0,0,0,162,0,45,190,66,184,104,41,0,0,1,66,0,0,0,182,12,0,85,182,0,0,109,182,4,1,0,0,67,0,0,181,0,0,106,182,181,4,0,1,13,0,116,1,181,0,109,1,4,182,82,1,16,0,25,0,10,1,56,190,1,0,148,43,0,0,0,10,0,0,82,3,14,0,2,190,0,0,72,224,9,0,82,0,190,0,119,0,151,255,1,10,0,0,0,1,5,0,0,0,6,0,3,190,10,1,41,190,190,2,94,9,0,190,1,190,144,0,94,0,9,190,120,0,14,0,25,0,9,4,82,1,0,0,106,3,1,68,120,3,4,0,1,0,1,0,1,1,0,0,119,0,14,0,25,190,1,72,116,89,190,0,85,28,3,0,0,1,89,0,1,66,65,1,119,0,8,0,1,190,148,0,3,190,9,190,116,78,190,0,85,27,0,0,0,1,78,0,25,0,9,4,1,66,65,1,45,190,66,185,88,42,0,0,1,66,0,0,82,190,0,0,25,0,190,16,116,160,1,0,106,187,1,4,109,160,4,187,116,161,0,0,106,190,0,4,109,161,4,190,1,190,1,0,1,187,0,0,135,0,34,0,190,187,160,161,135,1,2,0,0,7,12,0,82,6,7,0,106,7,7,4,32,187,6,0,32,190,7,0,19,187,187,190,0,8,187,0,121,8,10,0,25,5,9,4,82,187,5,0,25,4,187,16,82,3,4,0,106,4,4,4,0,182,13,0,85,182,3,0,109,182,4,4,119,0,4,0,82,3,13,0,82,4,11,0,25,5,9,4,25,181,9,104,25,182,9,96,82,187,181,0,106,190,181,4,82,191,182,0,106,189,182,4,135,182,20,0,187,190,191,189,135,189,2,0,135,0,44,0,182,189,0,1,135,1,2,0,82,182,5,0,106,181,182,16,106,182,182,20,85,162,3,0,85,25,4,0,85,67,181,0,85,24,182,0,121,8,3,0,1,66,71,1,119,0,15,0,116,160,162,0,106,191,162,4,109,160,4,191,116,161,67,0,106,189,67,4,109,161,4,189,135,189,45,0,6,7,160,0,1,161,0,0,34,189,189,0,121,189,3,0,1,66,71,1,119,0,2,0,0,0,162,0,1,189,71,1,45,189,66,189,88,43,0,0,1,66,0,0,0,182,12,0,85,182,0,0,109,182,4,1,0,0,67,0,0,182,0,0,106,1,182,4,0,0,13,0,116,0,182,0,109,0,4,1,25,0,10,1,82,1,16,0,56,189,1,0,148,43,0,0,0,10,0,0,82,1,14,0,2,189,0,0,72,224,9,0,82,0,189,0,119,0,136,255,82,0,15,0,1,189,0,0,47,189,189,0,172,43,0,0,26,189,0,1,85,15,189,0,1,189,0,0,15,189,189,1,82,191,19,0,33,191,191,0,19,189,189,191,121,189,41,0,25,1,22,12,1,0,0,0,2,189,0,0,72,224,9,0,82,189,189,0,82,191,1,0,3,191,191,0,41,191,191,2,94,182,189,191,25,181,182,56,82,189,181,0,106,191,181,4,2,190,0,0,64,66,15,0,1,187,0,0,2,192,0,0,64,66,15,0,1,188,0,0,135,181,40,0,189,191,190,187,192,188,0,0,135,15,2,0,135,14,1,0,135,19,2,0,25,182,182,40,82,188,182,0,106,192,182,4,135,182,20,0,14,19,188,192,135,19,2,0,25,0,0,1,15,192,19,15,13,188,15,19,16,187,182,181,19,188,188,187,20,192,192,188,120,192,9,0,82,192,16,0,54,192,0,192,204,43,0,0,82,192,22,0,134,0,0,0,120,9,1,0,192,95,0,0,1,66,93,1,1,192,93,1,45,192,66,192,156,44,0,0,1,66,0,0,32,192,0,250,120,192,4,0,34,192,0,0,121,192,107,0,119,0,5,0,1,188,1,0,109,22,8,188,1,0,250,255,119,0,222,8,2,188,0,0,187,176,185,223,46,188,0,188,228,44,0,0,1,192,32,4,94,192,21,192,135,188,46,0,192,0,0,0,2,188,0,0,208,223,9,0,82,188,188,0,121,188,3,0,1,66,98,1,119,0,8,9,25,10,22,88,1,188,0,0,82,192,10,0,47,188,188,192,48,46,0,0,25,11,22,12,1,9,0,0,2,188,0,0,72,224,9,0,82,188,188,0,82,192,11,0,3,192,192,9,41,192,192,2,94,0,188,192,106,188,0,16,121,188,10,0,1,188,0,0,1,187,0,0,1,190,0,0,135,192,41,0,0,187,190,0,47,188,188,192,72,45,0,0,1,0,0,0,119,0,183,8,2,188,0,0,92,224,9,0,82,5,188,0,1,188,0,0,47,188,188,5,32,46,0,0,2,188,0,0,88,224,9,0,82,6,188,0,82,188,11,0,3,7,188,9,2,188,0,0,96,224,9,0,82,8,188,0,1,4,0,0,41,188,4,2,94,0,6,188,106,188,0,8,45,188,188,7,20,46,0,0,1,188,52,1,94,188,0,188,120,188,5,0,106,188,0,88,106,188,188,8,33,188,188,3,120,188,25,0,82,188,0,0,41,188,188,2,94,1,8,188,1,188,44,1,1,192,3,0,97,0,188,192,106,192,1,40,120,192,2,0,119,0,16,0,82,192,1,0,106,3,192,24,120,3,2,0,119,0,12,0,106,1,1,8,1,0,0,0,3,192,0,1,41,192,192,2,94,192,6,192,1,188,44,1,1,190,3,0,97,192,188,190,25,0,0,1,53,190,0,3,240,45,0,0,25,4,4,1,53,190,4,5,132,45,0,0,25,9,9,1,82,190,10,0,54,190,9,190,0,45,0,0,1,188,1,0,109,22,4,188,1,0,250,255,119,0,121,8,2,188,0,0,84,224,9,0,82,1,188,0,1,188,0,0,47,188,188,1,132,46,0,0,2,188,0,0,80,224,9,0,82,3,188,0,1,0,0,0,41,188,0,2,94,188,3,188,1,190,0,0,109,188,8,190,25,0,0,1,53,190,0,1,104,46,0,0,2,190,0,0,92,224,9,0,82,1,190,0,1,190,0,0,47,190,190,1,204,46,0,0,2,190,0,0,88,224,9,0,82,3,190,0,1,0,0,0,41,190,0,2,94,190,3,190,1,188,48,1,1,192,0,0,97,190,188,192,25,0,0,1,53,192,0,1,172,46,0,0,2,192,0,0,192,223,9,0,82,192,192,0,121,192,13,0,1,188,0,0,1,190,32,0,2,187,0,0,188,223,9,0,82,187,187,0,106,191,21,28,82,189,26,0,41,189,189,2,94,191,191,189,135,192,47,0,188,190,95,187,191,0,0,0,82,0,26,0,106,192,22,88,47,192,0,192,188,78,0,0,25,15,22,12,2,192,0,0,72,224,9,0,82,192,192,0,82,191,15,0,3,191,191,0,41,191,191,2,94,19,192,191,82,181,43,0,1,192,48,1,3,14,19,192,0,20,14,0,82,192,20,0,106,191,20,4,34,187,181,0,41,187,187,31,42,187,187,31,135,181,44,0,192,191,181,187,135,20,2,0,85,14,181,0,109,14,4,20,1,187,56,1,3,14,19,187,0,20,14,0,82,187,20,0,106,191,20,4,1,192,1,0,1,190,0,0,135,20,44,0,187,191,192,190,135,181,2,0,0,182,14,0,85,182,20,0,109,182,4,181,106,190,19,8,120,190,26,8,82,190,44,0,38,190,190,2,121,190,24,0,2,190,0,0,208,223,9,0,82,190,190,0,32,190,190,0,1,192,24,0,1,191,8,0,125,182,190,192,191,0,0,0,1,191,32,4,3,191,21,191,116,112,191,0,109,112,4,0,1,192,0,0,2,190,0,0,147,141,2,0,135,191,5,0,192,182,190,112,2,191,0,0,208,223,9,0,82,191,191,0,121,191,3,0,1,66,133,1,119,0,59,8,2,191,0,0,204,223,9,0,82,191,191,0,121,191,131,1,82,191,26,0,82,190,15,0,3,5,191,190,106,190,19,20,106,190,190,8,135,6,48,0,190,0,0,0,25,3,19,48,0,7,164,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,80,48,0,0,0,1,3,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,164,191,192,113,119,0,9,0,0,182,114,0,85,182,0,0,109,182,4,1,1,192,32,0,2,191,0,0,58,255,3,0,135,190,10,0,164,192,191,114,0,7,96,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,200,48,0,0,0,1,3,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,96,191,192,115,119,0,17,0,77,190,0,0,61,192,0,0,0,0,128,79,76,191,1,0,65,192,192,191,63,190,190,192,62,192,0,0,141,237,181,160,247,198,176,62,65,190,190,192,87,116,190,0,1,192,32,0,2,191,0,0,119,185,2,0,135,190,10,0,96,192,191,116,25,3,19,64,0,7,97,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,100,49,0,0,0,1,3,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,97,191,192,117,119,0,9,0,0,182,118,0,85,182,0,0,109,182,4,1,1,192,32,0,2,191,0,0,58,255,3,0,135,190,10,0,97,192,191,118,0,7,98,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,220,49,0,0,0,1,3,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,98,191,192,119,119,0,17,0,77,190,0,0,61,192,0,0,0,0,128,79,76,191,1,0,65,192,192,191,63,190,190,192,62,192,0,0,141,237,181,160,247,198,176,62,65,190,190,192,87,120,190,0,1,192,32,0,2,191,0,0,119,185,2,0,135,190,10,0,98,192,191,120,0,7,99,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,116,50,0,0,0,1,48,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,99,191,192,121,119,0,9,0,0,182,122,0,85,182,0,0,109,182,4,1,1,192,32,0,2,191,0,0,58,255,3,0,135,190,10,0,99,192,191,122,0,7,68,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,236,50,0,0,0,1,48,0,82,0,1,0,106,1,1,4,25,4,19,4,82,3,4,0,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,68,191,192,123,119,0,19,0,106,190,3,16,76,190,190,0,106,192,3,20,76,192,192,0,66,190,190,192,77,192,0,0,61,191,0,0,0,0,128,79,76,187,1,0,65,191,191,187,63,192,192,191,65,190,190,192,87,124,190,0,1,192,32,0,2,191,0,0,119,185,2,0,135,190,10,0,68,192,191,124,0,7,69,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,148,51,0,0,0,1,46,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,69,191,192,125,119,0,9,0,0,182,126,0,85,182,0,0,109,182,4,1,1,192,32,0,2,191,0,0,58,255,3,0,135,190,10,0,69,192,191,126,0,7,70,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,12,52,0,0,0,3,46,0,82,1,3,0,106,3,3,4,82,0,4,0,32,190,1,0,2,191,0,0,0,0,0,128,13,191,3,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,70,191,192,127,119,0,19,0,106,190,0,16,76,190,190,0,106,192,0,20,76,192,192,0,66,190,190,192,77,192,1,0,61,191,0,0,0,0,128,79,76,187,3,0,65,191,191,187,63,192,192,191,65,190,190,192,87,128,190,0,1,192,32,0,2,191,0,0,119,185,2,0,135,190,10,0,70,192,191,128,0,7,71,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,176,52,0,0,2,190,0,0,80,224,9,0,82,190,190,0,82,191,19,0,41,191,191,2,94,190,190,191,25,1,190,48,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,71,191,192,129,119,0,9,0,0,182,130,0,85,182,0,0,109,182,4,1,1,192,32,0,2,191,0,0,58,255,3,0,135,190,10,0,71,192,191,130,0,7,72,0,25,8,7,32,1,190,0,0,83,7,190,0,25,7,7,1,54,190,7,8,64,53,0,0,2,190,0,0,80,224,9,0,82,190,190,0,82,191,19,0,41,191,191,2,94,190,190,191,25,1,190,48,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,190,10,0,72,191,192,131,119,0,17,0,77,190,0,0,61,192,0,0,0,0,128,79,76,191,1,0,65,192,192,191,63,190,190,192,62,192,0,0,141,237,181,160,247,198,176,62,65,190,190,192,87,132,190,0,1,192,32,0,2,191,0,0,119,185,2,0,135,190,10,0,72,192,191,132,85,133,5,0,109,133,4,6,109,133,8,164,109,133,12,96,109,133,16,97,109,133,20,98,109,133,24,99,109,133,28,68,109,133,32,69,109,133,36,70,109,133,40,71,109,133,44,72,1,191,0,0,1,192,32,0,2,187,0,0,186,141,2,0,135,190,5,0,191,192,187,133,25,13,19,80,82,190,13,0,120,190,2,1,1,190,40,4,3,10,21,190,0,0,10,0,82,1,0,0,106,0,0,4,32,190,1,0,2,187,0,0,0,0,0,128,13,187,0,187,19,190,190,187,120,190,247,0,25,12,19,4,1,190,64,0,82,187,12,0,1,192,184,0,94,187,187,192,56,190,190,187,64,58,0,0,25,182,19,48,82,187,182,0,32,187,187,0,121,187,7,0,106,187,182,4,2,192,0,0,0,0,0,128,13,187,187,192,0,190,187,0,119,0,3,0,1,187,0,0,0,190,187,0,121,190,125,0,25,11,22,48,0,182,11,0,82,20,182,0,106,182,182,4,1,190,0,0,1,187,0,0,135,181,20,0,190,187,1,0,13,187,20,181,135,190,2,0,13,190,182,190,19,187,187,190,120,187,2,0,119,0,111,0,106,187,21,4,106,187,187,8,1,190,0,2,19,187,187,190,120,187,2,0,119,0,105,0,25,9,21,24,82,187,9,0,120,187,5,0,2,4,0,0,255,255,255,127,1,3,255,255,119,0,69,0,25,8,21,28,1,7,0,0,2,0,0,0,255,255,255,127,1,3,255,255,82,187,8,0,41,190,7,2,94,1,187,190,106,187,1,52,33,187,187,48,121,187,50,0,25,4,1,24,0,6,4,0,82,5,6,0,106,6,6,4,32,187,5,0,2,190,0,0,0,0,0,128,13,190,6,190,19,187,187,190,120,187,40,0,25,1,1,16,1,187,1,0,85,73,187,0,2,187,0,0,64,66,15,0,85,53,187,0,116,160,1,0,106,190,1,4,109,160,4,190,116,161,73,0,106,187,73,4,109,161,4,187,135,182,34,0,5,6,160,161,135,181,2,0,15,187,181,0,13,190,0,181,16,192,182,3,19,190,190,192,20,187,187,190,120,187,2,0,119,0,18,0,0,3,4,0,82,0,3,0,106,3,3,4,1,187,1,0,85,74,187,0,2,187,0,0,64,66,15,0,85,54,187,0,116,160,1,0,106,190,1,4,109,160,4,190,116,161,74,0,106,187,74,4,109,161,4,187,135,3,34,0,0,3,160,161,135,0,2,0,25,7,7,1,82,187,9,0,55,187,7,187,56,55,0,0,0,1,10,0,0,4,0,0,106,0,1,4,82,1,1,0,15,187,0,4,13,190,4,0,16,192,1,3,19,190,190,192,20,187,187,190,120,187,2,0,119,0,23,0,1,187,0,0,1,190,0,0,135,181,20,0,187,190,3,4,135,182,2,0,135,20,20,0,3,4,1,0,135,1,2,0,0,0,134,0,85,0,20,0,109,0,4,1,1,187,40,0,2,192,0,0,94,142,2,0,135,190,5,0,21,187,192,134,0,0,11,0,85,0,181,0,109,0,4,182,0,0,10,0,82,1,0,0,106,0,0,4,1,190,1,0,85,75,190,0,2,190,0,0,64,66,15,0,85,50,190,0,82,190,12,0,25,6,190,16,116,160,75,0,106,192,75,4,109,160,4,192,116,161,6,0,106,190,6,4,109,161,4,190,135,6,34,0,1,0,160,161,135,7,2,0,82,190,12,0,1,192,184,0,94,3,190,192,1,190,1,0,1,192,0,0,135,4,49,0,190,192,3,0,135,5,2,0,135,182,44,0,4,5,6,7,135,181,2,0,1,192,1,0,85,13,192,0,15,192,7,181,13,190,181,7,16,187,6,182,19,190,190,187,20,192,192,190,120,192,2,0,119,0,67,0,0,1,46,0,82,0,1,0,106,1,1,4,32,192,0,0,2,190,0,0,0,0,0,128,13,190,1,190,19,192,192,190,120,192,25,0,1,192,1,0,1,190,0,0,26,187,3,1,135,182,49,0,192,190,187,0,135,187,2,0,135,182,44,0,182,187,6,7,135,181,2,0,15,187,181,1,13,190,1,181,16,192,182,0,19,190,190,192,20,187,187,190,120,187,2,0,119,0,9,0,135,20,20,0,0,1,4,5,135,181,2,0,0,182,46,0,85,182,20,0,109,182,4,181,1,187,0,0,85,13,187,0,0,1,48,0,82,0,1,0,106,1,1,4,32,187,0,0,2,190,0,0,0,0,0,128,13,190,1,190,19,187,187,190,120,187,25,0,1,187,1,0,1,190,0,0,26,192,3,1,135,182,49,0,187,190,192,0,135,192,2,0,135,182,44,0,182,192,6,7,135,181,2,0,15,192,181,1,13,190,1,181,16,187,182,0,19,190,190,187,20,192,192,190,120,192,2,0,119,0,9,0,135,20,20,0,0,1,4,5,135,181,2,0,0,182,48,0,85,182,20,0,109,182,4,181,1,192,0,0,85,13,192,0,0,182,14,0,82,192,182,0,32,192,192,1,106,190,182,4,32,190,190,0,19,192,192,190,121,192,41,0,25,6,19,4,82,0,6,0,1,192,156,0,94,192,0,192,36,192,192,0,120,192,35,0,1,5,0,0,1,192,152,0,94,4,0,192,27,192,5,12,3,192,4,192,25,1,192,8,82,0,1,0,33,192,0,5,121,192,20,0,1,190,0,0,135,192,50,0,95,0,190,0,120,192,16,0,27,192,5,12,3,192,4,192,25,3,192,4,82,192,1,0,82,190,3,0,135,0,51,0,95,192,190,0,120,0,3,0,1,66,195,1,119,0,141,5,27,192,5,12,94,192,4,192,82,187,3,0,135,190,52,0,0,192,187,0,25,5,5,1,82,0,6,0,1,190,156,0,94,190,0,190,54,190,5,190,120,58,0,0,0,182,46,0,82,187,182,0,32,187,187,0,121,187,7,0,106,187,182,4,2,192,0,0,0,0,0,128,13,187,187,192,0,190,187,0,119,0,3,0,1,187,0,0,0,190,187,0,120,190,29,0,25,181,22,48,82,20,181,0,106,181,181,4,1,190,1,0,85,76,190,0,2,190,0,0,64,66,15,0,85,49,190,0,106,190,19,4,25,182,190,16,116,160,76,0,106,187,76,4,109,160,4,187,116,161,182,0,106,190,182,4,109,161,4,190,135,181,34,0,20,181,160,161,135,20,2,0,0,182,46,0,82,190,182,0,106,187,182,4,135,20,44,0,190,187,181,20,135,181,2,0,0,182,46,0,85,182,20,0,109,182,4,181,0,182,48,0,82,190,182,0,32,190,190,0,121,190,7,0,106,190,182,4,2,192,0,0,0,0,0,128,13,190,190,192,0,187,190,0,119,0,3,0,1,190,0,0,0,187,190,0,120,187,84,0,25,1,22,48,82,0,1,0,106,1,1,4,1,187,1,0,85,77,187,0,2,187,0,0,64,66,15,0,85,51,187,0,106,187,19,4,25,182,187,16,116,160,77,0,106,190,77,4,109,160,4,190,116,161,182,0,106,187,182,4,109,161,4,187,135,1,34,0,0,1,160,161,135,0,2,0,0,182,48,0,82,187,182,0,106,190,182,4,135,0,44,0,187,190,1,0,135,1,2,0,0,182,48,0,85,182,0,0,109,182,4,1,32,190,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,190,190,187,120,190,50,0,1,190,128,0,98,190,19,190,77,187,0,0,61,192,0,0,0,0,128,79,76,191,1,0,65,192,192,191,63,187,187,192,65,17,190,187,135,190,53,0,17,0,0,0,59,192,1,0,74,190,190,192,121,190,29,0,59,192,0,0,73,192,17,192,121,192,14,0,61,188,0,0,0,0,128,79,66,188,17,188,135,191,54,0,188,0,0,0,62,188,0,0,0,0,224,255,255,255,239,65,135,192,55,0,191,188,0,0,75,192,192,0,0,190,192,0,119,0,11,0,75,188,17,0,77,188,188,0,64,188,17,188,61,191,0,0,0,0,128,79,66,188,188,191,135,192,56,0,188,0,0,0,75,192,192,0,0,190,192,0,0,187,190,0,119,0,3,0,1,190,0,0,0,187,190,0,0,181,187,0,0,182,48,0,75,187,17,0,85,182,187,0,109,182,4,181,0,1,46,0,82,0,1,0,106,1,1,4,32,187,0,0,2,190,0,0,0,0,0,128,13,190,1,190,19,187,187,190,121,187,5,0,1,0,0,0,2,1,0,0,0,0,0,128,119,0,50,0,1,187,128,0,98,187,19,187,77,190,0,0,61,192,0,0,0,0,128,79,76,188,1,0,65,192,192,188,63,190,190,192,65,17,187,190,75,0,17,0,135,187,53,0,17,0,0,0,59,192,1,0,74,187,187,192,121,187,29,0,59,192,0,0,73,192,17,192,121,192,14,0,61,191,0,0,0,0,128,79,66,191,17,191,135,188,54,0,191,0,0,0,62,191,0,0,0,0,224,255,255,255,239,65,135,192,55,0,188,191,0,0,75,192,192,0,0,187,192,0,119,0,11,0,75,191,17,0,77,191,191,0,64,191,17,191,61,188,0,0,0,0,128,79,66,191,191,188,135,192,56,0,191,0,0,0,75,192,192,0,0,187,192,0,0,190,187,0,119,0,3,0,1,187,0,0,0,190,187,0,0,1,190,0,0,182,46,0,85,182,0,0,109,182,4,1,25,16,19,4,82,190,16,0,25,3,190,16,1,190,1,0,85,79,190,0,2,190,0,0,64,66,15,0,85,52,190,0,116,160,3,0,106,187,3,4,109,160,4,187,116,161,79,0,106,190,79,4,109,161,4,190,1,190,5,32,135,3,57,0,0,1,160,161,190,0,0,0,135,4,2,0,25,9,19,20,82,190,9,0,106,0,190,8,120,0,9,0,32,190,3,0,2,187,0,0,0,0,0,128,13,187,4,187,19,190,190,187,120,190,12,0,1,66,208,1,119,0,10,0,33,190,3,0,2,187,0,0,0,0,0,128,14,187,4,187,20,190,190,187,32,187,0,1,19,190,190,187,121,190,2,0,1,66,208,1,1,190,208,1,45,190,66,190,8,65,0,0,25,182,19,48,82,187,182,0,121,187,4,0,1,187,1,0,0,190,187,0,119,0,6,0,106,187,182,4,2,192,0,0,0,0,0,128,14,187,187,192,0,190,187,0,2,187,0,0,196,223,9,0,82,187,187,0,33,187,187,0,20,190,190,187,120,190,129,0,106,190,21,4,106,190,190,8,1,187,0,2,19,190,190,187,120,190,2,0,119,0,123,0,25,1,22,56,82,0,1,0,106,1,1,4,32,190,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,190,190,187,120,190,114,0,135,0,20,0,3,4,0,1,135,1,2,0,77,190,0,0,61,187,0,0,0,0,128,79,76,192,1,0,65,187,187,192,63,18,190,187,145,18,18,0,2,187,0,0,252,7,2,0,88,183,187,0,145,183,183,0,60,190,0,0,192,189,240,255,145,190,190,0,65,187,183,190,145,187,187,0,73,187,187,18,60,192,0,0,64,66,15,0,145,192,192,0,65,190,183,192,145,190,190,0,71,190,190,18,20,187,187,190,120,187,2,0,119,0,85,0,25,181,22,48,0,182,181,0,82,187,182,0,106,190,182,4,135,182,20,0,187,190,0,1,135,66,2,0,85,181,182,0,109,181,4,66,0,181,135,0,85,181,0,0,109,181,4,1,25,181,135,8,85,181,182,0,109,181,4,66,1,187,0,0,1,192,48,0,2,191,0,0,125,142,2,0,135,190,5,0,187,192,191,135,1,190,1,0,85,80,190,0,2,190,0,0,64,66,15,0,85,57,190,0,82,190,16,0,25,181,190,16,116,160,80,0,106,191,80,4,109,160,4,191,116,161,181,0,106,190,181,4,109,161,4,190,135,181,34,0,0,1,160,161,135,66,2,0,0,182,46,0,82,190,182,0,106,191,182,4,135,66,20,0,190,191,181,66,135,181,2,0,0,182,46,0,85,182,66,0,109,182,4,181,0,182,48,0,82,190,182,0,32,190,190,0,121,190,7,0,106,190,182,4,2,192,0,0,0,0,0,128,13,190,190,192,0,191,190,0,119,0,3,0,1,190,0,0,0,191,190,0,120,191,26,0,1,191,1,0,85,81,191,0,2,191,0,0,64,66,15,0,85,58,191,0,82,191,16,0,25,181,191,16,116,160,81,0,106,190,81,4,109,160,4,190,116,161,181,0,106,191,181,4,109,161,4,191,135,181,34,0,0,1,160,161,135,66,2,0,0,182,48,0,82,191,182,0,106,190,182,4,135,66,20,0,191,190,181,66,135,181,2,0,0,182,48,0,85,182,66,0,109,182,4,181,25,0,22,24,82,1,0,0,106,0,0,4,25,3,22,32,82,190,16,0,25,4,190,16,116,160,3,0,106,191,3,4,109,160,4,191,116,161,4,0,106,190,4,4,109,161,4,190,135,0,34,0,1,0,160,161,135,1,2,0,0,4,48,0,82,3,4,0,106,4,4,4,32,190,3,0,2,191,0,0,0,0,0,128,13,191,4,191,19,190,190,191,120,190,39,0,135,14,44,0,3,4,0,1,135,181,2,0,0,182,48,0,85,182,14,0,109,182,4,181,25,182,19,104,0,66,182,0,82,20,66,0,106,66,66,4,15,190,66,181,13,191,181,66,16,192,20,14,19,191,191,192,20,190,190,191,0,13,190,0,125,190,13,14,20,0,0,0,85,182,190,0,125,191,13,181,66,0,0,0,109,182,4,191,25,182,19,96,0,66,182,0,82,13,66,0,106,66,66,4,15,191,66,181,13,190,181,66,16,192,13,14,19,190,190,192,20,191,191,190,0,20,191,0,125,191,20,13,14,0,0,0,85,182,191,0,125,190,20,66,181,0,0,0,109,182,4,190,0,182,46,0,82,181,182,0,106,182,182,4,135,0,44,0,181,182,0,1,135,1,2,0,32,190,181,0,2,191,0,0,0,0,0,128,13,191,182,191,19,190,190,191,121,190,5,0,1,0,0,0,2,1,0,0,0,0,0,128,119,0,4,0,0,182,46,0,85,182,0,0,109,182,4,1,82,190,16,0,25,3,190,16,1,190,1,0,85,82,190,0,2,190,0,0,64,66,15,0,85,55,190,0,116,160,3,0,106,191,3,4,109,160,4,191,116,161,82,0,106,190,82,4,109,161,4,190,1,190,5,32,135,0,57,0,0,1,160,161,190,0,0,0,135,1,2,0,82,190,9,0,106,3,190,8,120,3,11,0,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,3,0,1,66,232,1,119,0,14,0,1,66,221,1,119,0,12,0,33,190,0,0,2,191,0,0,0,0,0,128,14,191,1,191,20,190,190,191,32,191,3,1,19,190,190,191,121,190,3,0,1,66,221,1,119,0,2,0,1,66,232,1,1,190,221,1,45,190,66,190,188,71,0,0,1,66,0,0,25,6,19,48,0,5,6,0,82,4,5,0,106,5,5,4,32,190,4,0,2,191,0,0,0,0,0,128,13,191,5,191,19,190,190,191,2,191,0,0,196,223,9,0,82,191,191,0,33,191,191,0,20,190,190,191,121,190,3,0,1,66,232,1,119,0,30,1,135,7,20,0,0,1,4,5,135,8,2,0,77,190,7,0,61,191,0,0,0,0,128,79,76,192,8,0,65,191,191,192,63,18,190,191,145,18,18,0,106,191,21,4,106,191,191,8,1,190,0,2,19,191,191,190,121,191,148,0,2,191,0,0,252,7,2,0,88,183,191,0,145,183,183,0,60,190,0,0,192,189,240,255,145,190,190,0,65,191,183,190,145,191,191,0,73,191,191,18,60,192,0,0,64,66,15,0,145,192,192,0,65,190,183,192,145,190,190,0,71,190,190,18,20,191,191,190,120,191,31,0,2,191,0,0,160,134,1,0,1,190,0,0,135,20,44,0,0,1,191,190,135,13,2,0,25,12,19,72,82,181,12,0,106,12,12,4,25,14,19,56,82,182,14,0,106,14,14,4,15,190,14,12,13,191,12,14,16,192,182,181,19,191,191,192,20,190,190,191,0,21,190,0,125,14,21,12,14,0,0,0,15,190,13,14,13,191,13,14,125,192,21,181,182,0,0,0,16,192,20,192,19,191,191,192,20,190,190,191,120,190,3,0,1,66,232,1,119,0,223,0,25,1,22,48,0,21,1,0,82,190,21,0,106,191,21,4,135,21,20,0,190,191,7,8,135,181,2,0,0,20,1,0,85,20,21,0,109,20,4,181,82,20,19,0,82,181,16,0,82,21,181,0,106,181,181,4,135,0,48,0,3,0,0,0,82,182,1,0,106,1,1,4,85,136,20,0,109,136,4,21,109,136,8,181,109,136,12,0,25,0,136,16,85,0,7,0,109,0,4,8,25,0,136,24,85,0,182,0,109,0,4,1,1,190,0,0,1,192,48,0,2,187,0,0,186,142,2,0,135,191,5,0,190,192,187,136,1,191,1,0,85,83,191,0,2,191,0,0,64,66,15,0,85,59,191,0,82,191,16,0,25,0,191,16,116,160,83,0,106,187,83,4,109,160,4,187,116,161,0,0,106,191,0,4,109,161,4,191,135,0,34,0,7,8,160,161,135,1,2,0,0,182,46,0,82,191,182,0,106,187,182,4,135,1,20,0,191,187,0,1,135,0,2,0,0,182,46,0,85,182,1,0,109,182,4,0,0,182,48,0,82,191,182,0,32,191,191,0,121,191,7,0,106,191,182,4,2,192,0,0,0,0,0,128,13,191,191,192,0,187,191,0,119,0,3,0,1,191,0,0,0,187,191,0,120,187,151,0,1,187,1,0,85,84,187,0,2,187,0,0,64,66,15,0,85,61,187,0,82,187,16,0,25,182,187,16,116,160,84,0,106,191,84,4,109,160,4,191,116,161,182,0,106,187,182,4,109,161,4,187,135,182,34,0,7,8,160,161,135,181,2,0,0,66,48,0,82,187,66,0,106,191,66,4,135,181,20,0,187,191,182,181,135,182,2,0,0,66,48,0,85,66,181,0,109,66,4,182,1,66,232,1,119,0,124,0,2,191,0,0,0,8,2,0,88,183,191,0,145,183,183,0,60,187,0,0,192,189,240,255,145,187,187,0,65,191,183,187,145,191,191,0,73,191,191,18,60,192,0,0,64,66,15,0,145,192,192,0,65,187,183,192,145,187,187,0,71,187,187,18,20,191,191,187,121,191,23,0,0,21,46,0,106,66,21,4,82,182,26,0,0,181,137,0,116,181,21,0,109,181,4,66,25,181,137,8,85,181,4,0,109,181,4,5,109,137,16,182,1,187,0,0,1,192,24,0,2,190,0,0,14,143,2,0,135,191,5,0,187,192,190,137,0,182,46,0,1,191,0,0,85,182,191,0,2,190,0,0,0,0,0,128,109,182,4,190,0,1,48,0,82,0,1,0,106,1,1,4,32,190,0,0,2,191,0,0,0,0,0,128,13,191,1,191,19,190,190,191,121,190,3,0,1,66,232,1,119,0,73,0,82,190,16,0,25,181,190,16,1,190,1,0,85,85,190,0,2,190,0,0,64,66,15,0,85,60,190,0,116,160,181,0,106,191,181,4,109,160,4,191,116,161,85,0,106,190,85,4,109,161,4,190,135,181,34,0,0,1,160,161,135,182,2,0,0,1,6,0,82,0,1,0,106,1,1,4,135,182,20,0,181,182,0,1,77,190,182,0,61,191,0,0,0,0,128,79,135,192,2,0,76,192,192,0,65,191,191,192,63,183,190,191,145,183,183,0,2,191,0,0,0,8,2,0,88,18,191,0,145,18,18,0,60,190,0,0,192,189,240,255,145,190,190,0,65,191,18,190,145,191,191,0,73,191,191,183,60,192,0,0,64,66,15,0,145,192,192,0,65,190,18,192,145,190,190,0,71,190,190,183,20,191,191,190,120,191,3,0,1,66,232,1,119,0,24,0,0,21,48,0,106,181,21,4,82,66,26,0,0,182,138,0,116,182,21,0,109,182,4,181,25,182,138,8,85,182,0,0,109,182,4,1,109,138,16,66,1,190,0,0,1,192,24,0,2,187,0,0,58,143,2,0,135,191,5,0,190,192,187,138,0,66,48,0,1,191,0,0,85,66,191,0,2,187,0,0,0,0,0,128,109,66,4,187,1,66,232,1,1,187,232,1,45,187,66,187,216,71,0,0,1,66,0,0,0,0,46,0,82,1,0,0,106,0,0,4,32,187,1,0,2,191,0,0,0,0,0,128,13,191,0,191,19,187,187,191,120,187,20,0,82,187,16,0,25,21,187,16,1,187,1,0,85,86,187,0,2,187,0,0,64,66,15,0,85,56,187,0,116,160,21,0,106,191,21,4,109,160,4,191,116,161,86,0,106,187,86,4,109,161,4,187,135,21,34,0,1,0,160,161,135,181,2,0,25,182,22,56,85,182,21,0,109,182,4,181,2,187,0,0,204,223,9,0,82,187,187,0,120,187,3,0,0,0,19,0,119,0,245,0,82,187,26,0,82,191,15,0,3,5,187,191,82,191,9,0,106,191,191,8,135,4,48,0,191,0,0,0,0,7,87,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,120,72,0,0,0,1,48,0,82,0,1,0,106,1,1,4,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,87,187,192,139,119,0,9,0,0,182,140,0,85,182,0,0,109,182,4,1,1,192,32,0,2,187,0,0,58,255,3,0,135,191,10,0,87,192,187,140,0,7,88,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,240,72,0,0,0,1,48,0,82,0,1,0,106,1,1,4,82,3,16,0,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,88,187,192,141,119,0,19,0,106,191,3,16,76,191,191,0,106,192,3,20,76,192,192,0,66,191,191,192,77,192,0,0,61,187,0,0,0,0,128,79,76,190,1,0,65,187,187,190,63,192,192,187,65,191,191,192,87,142,191,0,1,192,32,0,2,187,0,0,119,185,2,0,135,191,10,0,88,192,187,142,0,7,90,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,148,73,0,0,0,1,46,0,82,0,1,0,106,1,1,4,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,90,187,192,143,119,0,9,0,0,182,144,0,85,182,0,0,109,182,4,1,1,192,32,0,2,187,0,0,58,255,3,0,135,191,10,0,90,192,187,144,0,7,91,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,12,74,0,0,0,1,46,0,82,0,1,0,106,1,1,4,82,3,16,0,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,91,187,192,145,119,0,19,0,106,191,3,16,76,191,191,0,106,192,3,20,76,192,192,0,66,191,191,192,77,192,0,0,61,187,0,0,0,0,128,79,76,190,1,0,65,187,187,190,63,192,192,187,65,191,191,192,87,146,191,0,1,192,32,0,2,187,0,0,119,185,2,0,135,191,10,0,91,192,187,146,0,7,92,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,176,74,0,0,2,191,0,0,80,224,9,0,82,191,191,0,82,187,19,0,41,187,187,2,94,191,191,187,25,1,191,48,82,0,1,0,106,1,1,4,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,92,187,192,147,119,0,9,0,0,182,148,0,85,182,0,0,109,182,4,1,1,192,32,0,2,187,0,0,58,255,3,0,135,191,10,0,92,192,187,148,0,7,93,0,25,8,7,32,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,64,75,0,0,2,191,0,0,80,224,9,0,82,191,191,0,82,187,19,0,41,187,187,2,94,191,191,187,25,1,191,48,82,0,1,0,106,1,1,4,32,191,0,0,2,187,0,0,0,0,0,128,13,187,1,187,19,191,191,187,121,191,7,0,1,187,32,0,2,192,0,0,227,2,3,0,135,191,10,0,93,187,192,149,119,0,17,0,77,191,0,0,61,192,0,0,0,0,128,79,76,187,1,0,65,192,192,187,63,191,191,192,62,192,0,0,141,237,181,160,247,198,176,62,65,191,191,192,87,150,191,0,1,192,32,0,2,187,0,0,119,185,2,0,135,191,10,0,93,192,187,150,85,151,5,0,109,151,4,4,109,151,8,87,109,151,12,88,109,151,16,90,109,151,20,91,109,151,24,92,109,151,28,93,1,187,0,0,1,192,32,0,2,190,0,0,102,143,2,0,135,191,5,0,187,192,190,151,0,0,19,0,0,15,48,0,82,14,15,0,106,15,15,4,2,191,0,0,80,224,9,0,82,191,191,0,82,190,0,0,41,190,190,2,94,0,191,190,25,13,0,88,1,191,0,0,82,190,13,0,47,191,191,190,172,78,0,0,25,12,0,12,1,11,0,0,2,191,0,0,72,224,9,0,82,191,191,0,82,190,12,0,3,190,190,11,41,190,190,2,94,5,191,190,1,191,228,0,3,6,5,191,82,191,6,0,121,191,132,0,82,191,16,0,25,1,191,16,106,191,5,4,25,0,191,16,116,160,1,0,106,190,1,4,109,160,4,190,116,161,0,0,106,191,0,4,109,161,4,191,135,0,34,0,14,15,160,161,135,1,2,0,1,191,255,255,1,190,255,255,135,7,44,0,0,1,191,190,135,8,2,0,1,190,208,0,3,9,5,190,0,182,9,0,106,181,182,4,15,190,181,8,45,192,8,181,4,77,0,0,82,192,182,0,16,192,192,7,0,191,192,0,119,0,3,0,1,192,0,0,0,191,192,0,20,190,190,191,120,190,2,0,119,0,98,0,1,190,216,0,3,4,5,190,82,3,4,0,106,4,4,4,15,190,4,1,13,191,1,4,16,192,3,0,19,191,191,192,20,190,190,191,121,190,3,0,1,66,6,2,119,0,12,0,32,190,3,255,2,191,0,0,255,255,255,127,13,191,4,191,19,190,190,191,82,191,6,0,82,191,191,0,33,191,191,0,20,190,190,191,120,190,2,0,1,66,6,2,1,190,6,2,45,190,66,190,144,77,0,0,1,66,0,0,1,191,0,0,135,190,58,0,5,191,0,0,1,190,248,0,3,10,5,190,82,190,10,0,36,190,190,0,120,190,63,0,1,190,244,0,3,5,5,190,1,0,0,0,1,1,0,0,82,191,5,0,41,192,0,2,94,191,191,192,82,191,191,0,135,190,39,0,191,0,0,0,3,1,190,1,25,0,0,1,82,3,10,0,54,190,0,3,180,77,0,0,120,1,2,0,119,0,46,0,82,4,6,0,25,182,4,104,85,182,7,0,109,182,4,8,0,182,9,0,85,182,7,0,109,182,4,8,1,190,0,0,47,190,190,3,156,78,0,0,1,0,0,0,82,190,5,0,41,191,0,2,94,190,190,191,82,190,190,0,1,191,12,0,135,1,59,0,190,4,191,0,2,191,0,0,187,176,185,223,14,191,1,191,34,190,1,0,19,191,191,190,121,191,18,0,0,7,163,0,25,8,7,64,1,191,0,0,85,7,191,0,25,7,7,4,54,191,7,8,80,78,0,0,1,190,64,0,135,191,11,0,1,163,190,0,85,152,163,0,1,190,0,0,1,192,24,0,2,187,0,0,123,133,2,0,135,191,5,0,190,192,187,152,25,0,0,1,82,191,10,0,54,191,0,191,20,78,0,0,25,11,11,1,82,191,13,0,54,191,11,191,100,76,0,0,1,187,0,0,135,191,41,0,19,95,187,0,119,0,87,0,2,191,0,0,80,224,9,0,82,191,191,0,41,187,20,2,94,9,191,187,82,7,9,0,106,191,7,28,41,187,0,2,94,8,191,187,25,9,9,92,82,191,9,0,49,191,191,0,20,80,0,0,1,191,176,0,94,191,8,191,82,191,191,0,135,0,48,0,191,0,0,0,82,1,26,0,0,4,45,0,82,3,4,0,106,4,4,4,1,191,0,0,85,78,191,0,1,187,0,0,109,78,4,187,1,191,0,0,109,78,8,191,1,187,0,0,109,78,12,187,1,191,0,0,109,78,16,191,1,187,0,0,109,78,20,187,1,191,0,0,109,78,24,191,1,187,0,0,109,78,28,187,0,6,46,0,82,5,6,0,106,6,6,4,32,187,5,0,2,191,0,0,0,0,0,128,13,191,6,191,19,187,187,191,121,187,7,0,1,191,32,0,2,192,0,0,227,2,3,0,135,187,10,0,78,191,192,109,119,0,19,0,106,187,8,16,76,187,187,0,106,192,8,20,76,192,192,0,66,187,187,192,77,192,5,0,61,191,0,0,0,0,128,79,76,190,6,0,65,191,191,190,63,192,192,191,65,187,187,192,87,110,187,0,1,192,32,0,2,191,0,0,119,185,2,0,135,187,10,0,78,192,191,110,85,111,0,0,109,111,4,20,109,111,8,1,25,182,111,16,85,182,3,0,109,182,4,4,109,111,24,78,1,191,24,0,2,192,0,0,102,141,2,0],eb+10240);HEAPU8.set([135,187,5,0,7,191,192,111,82,187,26,0,25,187,187,1,85,9,187,0,135,187,60,0,95,0,0,0,1,0,0,0,1,187,43,1,45,187,66,187,60,80,0,0,1,66,0,0,1,192,1,0,109,22,8,192,1,0,250,255,32,192,0,250,121,192,14,0,2,192,0,0,80,224,9,0,82,192,192,0,82,187,2,0,41,187,187,2,94,192,192,187,106,192,192,8,120,192,2,0,119,0,20,0,1,192,48,1,1,187,1,0,97,23,192,187,119,0,16,0,34,187,0,0,120,187,5,0,1,187,0,0,135,0,38,0,187,0,0,0,119,0,1,0,34,187,0,0,2,192,0,0,187,176,185,223,14,192,0,192,19,187,187,192,121,187,4,0,1,66,26,2,119,0,21,0,1,66,247,0,1,187,247,0,45,187,66,187,220,80,0,0,1,66,0,0,1,192,0,0,1,191,40,0,2,190,0,0,177,140,2,0,135,187,5,0,192,191,190,104,1,190,0,0,135,187,61,0,190,64,65,62,63,0,0,0,2,187,0,0,188,224,9,0,82,187,187,0,121,187,74,240,119,0,92,0,1,187,209,0,52,187,66,187,108,82,0,0,1,187,222,0,45,187,66,187,52,81,0,0,1,190,0,0,1,191,40,0,2,192,0,0,7,140,2,0,135,187,5,0,190,191,192,102,119,0,79,0,1,187,6,1,45,187,66,187,120,81,0,0,106,182,23,4,116,106,23,0,109,106,4,182,109,106,8,160,1,192,0,0,1,191,16,0,2,190,0,0,249,140,2,0,135,187,5,0,192,191,190,106,1,190,1,0,135,187,13,0,190,0,0,0,119,0,62,0,1,187,34,1,45,187,66,187,196,81,0,0,2,187,0,0,39,141,2,0,85,107,187,0,2,190,0,0,62,141,2,0,109,107,4,190,1,187,26,18,109,107,8,187,1,190,0,0,1,191,0,0,2,192,0,0,41,21,4,0,135,187,5,0,190,191,192,107,135,187,62,0,119,0,43,0,1,187,98,1,45,187,66,187,224,81,0,0,1,192,1,0,135,187,13,0,192,0,0,0,119,0,36,0,1,187,133,1,45,187,66,187,252,81,0,0,1,192,1,0,135,187,13,0,192,0,0,0,119,0,29,0,1,187,195,1,45,187,66,187,24,82,0,0,1,192,1,0,135,187,13,0,192,0,0,0,119,0,22,0,1,187,26,2,45,187,66,187,108,82,0,0,0,7,94,0,25,8,7,64,1,187,0,0,83,7,187,0,25,7,7,1,54,187,7,8,44,82,0,0,1,192,64,0,135,187,11,0,0,94,192,0,85,153,94,0,1,192,0,0,1,191,16,0,2,190,0,0,215,143,2,0,135,187,5,0,192,191,190,153,119,0,1,0,2,187,0,0,76,224,9,0,82,0,187,0,1,187,0,0,47,187,187,0,228,82,0,0,1,2,0,0,2,187,0,0,72,224,9,0,82,187,187,0,41,190,2,2,94,1,187,190,2,187,0,0,80,224,9,0,82,187,187,0,82,190,1,0,41,190,190,2,94,187,187,190,106,187,187,4,120,187,8,0,1,190,0,0,1,191,0,0,135,187,41,0,1,190,191,0,2,187,0,0,76,224,9,0,82,0,187,0,25,2,2,1,54,187,2,0,136,82,0,0,1,187,0,0,2,191,0,0,92,224,9,0,82,191,191,0,47,187,187,191,212,88,0,0,25,11,162,24,25,12,162,28,1,10,0,0,2,187,0,0,88,224,9,0,82,187,187,0,41,191,10,2,94,13,187,191,25,14,13,80,82,15,14,0,2,187,0,0,96,224,9,0,82,187,187,0,82,191,13,0,41,191,191,2,94,16,187,191,106,187,13,16,121,187,254,0,1,187,56,1,94,187,13,187,120,187,127,0,1,187,8,1,3,182,13,187,82,187,182,0,106,7,187,8,1,191,0,0,1,190,0,4,135,187,0,0,160,191,190,0,106,187,13,12,82,181,187,0,116,165,13,0,109,165,4,181,1,190,0,0,1,191,24,0,2,192,0,0,242,143,2,0,135,187,5,0,190,191,192,165,82,187,182,0,121,187,101,0,106,187,7,8,120,187,99,0,25,5,7,20,82,0,5,0,1,187,0,0,47,187,187,0,160,84,0,0,25,6,7,16,1,4,0,0,82,187,6,0,41,192,4,2,94,1,187,192,25,2,1,24,82,187,2,0,34,187,187,0,121,187,27,0,106,187,1,4,106,187,187,4,1,192,176,0,94,181,187,192,25,187,181,20,116,2,187,0,106,192,181,108,109,1,44,192,106,187,181,104,109,1,48,187,25,159,181,96,106,3,159,4,25,182,1,56,116,182,159,0,109,182,4,3,106,192,181,48,109,1,28,192,106,187,181,52,109,1,32,187,25,181,181,56,106,182,181,4,25,3,1,36,116,3,181,0,109,3,4,182,82,3,5,0,119,0,2,0,0,3,0,0,25,4,4,1,56,187,3,4,96,84,0,0,0,0,3,0,119,0,218,255,36,187,3,0,120,187,15,0,82,1,6,0,1,0,0,0,41,187,0,2,94,2,1,187,106,187,2,24,34,187,187,0,121,187,4,0,106,187,2,16,35,187,187,2,120,187,171,0,25,0,0,1,56,187,3,0,160,84,0,0,119,0,245,255,135,187,36,0,7,0,0,0,34,187,187,0,121,187,3,0,1,66,50,2,119,0,168,0,2,187,0,0,96,224,9,0,82,187,187,0,82,192,13,0,41,192,192,2,94,0,187,192,1,187,44,1,1,192,3,0,97,13,187,192,106,192,0,40,120,192,2,0,119,0,19,0,82,192,0,0,106,2,192,24,120,2,2,0,119,0,15,0,2,192,0,0,88,224,9,0,82,3,192,0,106,1,0,8,1,0,0,0,3,192,0,1,41,192,192,2,94,192,3,192,1,187,44,1,1,191,3,0,97,192,187,191,25,0,0,1,53,191,0,2,12,85,0,0,135,191,15,0,13,160,0,0,34,191,191,0,121,191,3,0,1,66,57,2,119,0,132,0,25,3,15,8,82,0,3,0,1,191,0,0,1,187,2,0,138,0,191,187,104,85,0,0,108,85,0,0,119,0,117,0,119,0,5,0,1,191,100,1,94,191,15,191,34,191,191,2,120,191,112,0,25,4,13,4,1,191,4,1,3,5,13,191,1,191,44,2,3,6,15,191,1,191,44,1,3,7,13,191,25,8,15,76,25,9,13,56,1,191,0,0,1,187,2,0,138,0,191,187,188,85,0,0,200,85,0,0,1,66,64,2,119,0,103,0,2,1,0,0,35,21,4,0,119,0,4,0,2,1,0,0,29,21,4,0,119,0,1,0,135,191,63,0,162,0,0,0,1,191,0,0,85,11,191,0,1,191,0,0,85,12,191,0,1,187,0,0,135,191,64,0,187,169,0,0,135,0,65,0,15,162,0,0,32,191,0,250,121,191,12,0,1,191,0,0,135,0,66,0,15,191,0,0,34,191,0,0,121,191,3,0,1,66,69,2,119,0,77,0,135,0,65,0,15,162,0,0,32,191,0,250,120,191,246,255,82,181,13,0,82,182,4,0,85,171,1,0,109,171,4,181,109,171,8,182,2,187,0,0,98,144,2,0,135,191,64,0,187,171,0,0,34,191,0,0,2,187,0,0,187,176,185,223,14,187,0,187,19,191,191,187,121,191,3,0,1,66,71,2,119,0,56,0,82,1,5,0,121,1,6,0,82,2,6,0,120,2,2,0,119,0,3,0,135,191,67,0,2,1,0,0,2,191,0,0,187,176,185,223,52,191,0,191,44,87,0,0,82,191,7,0,38,191,191,2,120,191,28,0,116,160,8,0,106,187,8,4,109,160,4,187,116,161,9,0,106,191,9,4,109,161,4,191,135,191,68,0,162,160,161,0,82,0,12,0,1,187,0,0,135,191,69,0,16,162,13,187,2,187,0,0,12,224,9,0,82,187,187,0,121,187,6,0,82,187,14,0,106,187,187,8,32,187,187,0,0,191,187,0,119,0,3,0,1,187,0,0,0,191,187,0,121,191,6,0,135,191,70,0,13,0,0,0,119,0,3,0,135,191,60,0,162,0,0,0,82,0,3,0,119,0,158,255,1,187,1,0,135,191,69,0,16,162,13,187,25,10,10,1,2,191,0,0,92,224,9,0,82,191,191,0,56,191,191,10,212,88,0,0,119,0,238,254,1,191,50,2,45,191,66,191,136,87,0,0,1,187,0,0,1,192,16,0,2,190,0,0,42,144,2,0,135,191,5,0,187,192,190,166,1,190,1,0,135,191,13,0,190,0,0,0,119,0,84,0,1,191,57,2,45,191,66,191,204,87,0,0,106,182,13,4,116,167,13,0,109,167,4,182,109,167,8,160,1,190,0,0,1,192,16,0,2,187,0,0,249,140,2,0,135,191,5,0,190,192,187,167,1,187,1,0,135,191,13,0,187,0,0,0,119,0,67,0,1,191,64,2,45,191,66,191,24,88,0,0,2,191,0,0,113,241,3,0,85,168,191,0,2,187,0,0,62,141,2,0,109,168,4,187,1,191,133,7,109,168,8,191,1,187,0,0,1,192,0,0,2,190,0,0,41,21,4,0,135,191,5,0,187,192,190,168,135,191,62,0,119,0,48,0,1,191,69,2,45,191,66,191,120,88,0,0,0,7,163,0,25,8,7,64,1,191,0,0,85,7,191,0,25,7,7,4,54,191,7,8,44,88,0,0,135,182,71,0,163,0,0,0,85,170,1,0,109,170,4,182,1,190,0,0,1,192,8,0,2,187,0,0,74,144,2,0,135,191,5,0,190,192,187,170,1,187,1,0,135,191,13,0,187,0,0,0,119,0,24,0,1,191,71,2,45,191,66,191,212,88,0,0,0,7,164,0,25,8,7,64,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,140,88,0,0,135,182,71,0,164,0,0,0,85,172,1,0,109,172,4,182,1,187,0,0,1,192,8,0,2,190,0,0,74,144,2,0,135,191,5,0,187,192,190,172,1,190,1,0,135,191,13,0,190,0,0,0,2,191,0,0,191,227,9,0,85,173,191,0,1,190,0,0,1,192,248,255,2,187,0,0,45,255,3,0,135,191,5,0,190,192,187,173,2,191,0,0,120,224,9,0,82,191,191,0,121,191,7,0,1,187,0,0,1,192,0,0,2,190,0,0,124,224,9,0,135,191,25,0,187,192,190,0,1,191,0,0,2,190,0,0,100,224,9,0,82,190,190,0,47,191,191,190,32,90,0,0,1,1,0,0,2,191,0,0,96,224,9,0,82,191,191,0,41,190,1,2,94,182,191,190,82,0,182,0,106,191,182,44,120,191,12,0,1,191,32,4,94,182,0,191,85,175,1,0,109,175,4,182,1,190,0,0,1,192,16,0,2,187,0,0,113,144,2,0,135,191,5,0,190,192,187,175,119,0,29,0,135,2,72,0,0,0,0,0,34,191,2,0,121,191,25,0,1,191,32,4,94,0,0,191,0,7,174,0,25,8,7,64,1,191,0,0,83,7,191,0,25,7,7,1,54,191,7,8,168,89,0,0,1,187,64,0,135,191,11,0,2,174,187,0,85,176,0,0,109,176,4,174,1,187,0,0,1,192,16,0,2,190,0,0,217,144,2,0,135,191,5,0,187,192,190,176,2,191,0,0,208,223,9,0,82,191,191,0,120,191,8,0,25,1,1,1,2,191,0,0,100,224,9,0,82,191,191,0,56,191,191,1,32,90,0,0,119,0,203,255,1,190,1,0,135,191,13,0,190,0,0,0,135,0,1,0,1,190,1,0,135,192,2,0,135,191,61,0,190,64,65,0,192,0,0,0,2,191,0,0,92,224,9,0,82,0,191,0,1,191,0,0,47,191,191,0,216,90,0,0,1,2,0,0,1,3,0,0,1,4,0,0,2,191,0,0,88,224,9,0,82,191,191,0,41,192,2,2,94,1,191,192,106,191,1,16,121,191,9,0,106,192,1,80,1,190,48,2,3,192,192,190,135,191,73,0,192,0,0,0,2,191,0,0,92,224,9,0,82,0,191,0,1,191,96,1,3,182,1,191,82,191,182,0,106,192,182,4,135,3,44,0,191,192,3,4,135,4,2,0,25,2,2,1,54,192,2,0,92,90,0,0,32,192,3,0,32,191,4,0,19,192,192,191,121,192,4,0,1,66,100,2,119,0,2,0,1,66,100,2,1,192,100,2,45,192,66,192,32,91,0,0,2,192,0,0,212,223,9,0,82,192,192,0,38,192,192,1,121,192,10,0,1,191,0,0,1,190,8,0,2,187,0,0,250,144,2,0,135,192,5,0,191,190,187,177,1,187,1,0,135,192,13,0,187,0,0,0,1,192,0,0,2,187,0,0,76,224,9,0,82,187,187,0,47,192,192,187,156,91,0,0,1,1,0,0,2,192,0,0,72,224,9,0,82,192,192,0,41,187,1,2,94,0,192,187,106,192,0,16,121,192,12,0,25,2,0,20,82,187,2,0,135,192,14,0,187,0,0,0,1,192,20,1,94,0,0,192,121,0,5,0,38,187,0,31,82,190,2,0,135,192,74,0,187,190,0,0,25,1,1,1,2,192,0,0,76,224,9,0,82,192,192,0,54,192,1,192,60,91,0,0,2,187,0,0,20,224,9,0,135,192,75,0,187,0,0,0,135,192,76,0,1,4,0,0,2,192,0,0,88,224,9,0,82,1,192,0,2,192,0,0,92,224,9,0,82,2,192,0,33,192,1,0,1,187,0,0,15,187,187,2,19,192,192,187,120,192,3,0,137,180,0,0,139,4,0,0,1,0,0,0,41,192,0,2,94,3,1,192,121,3,62,0,1,192,4,1,3,2,3,192,82,1,2,0,121,1,27,0,135,192,77,0,1,0,0,0,121,192,22,0,0,7,178,0,25,8,7,64,1,192,0,0,83,7,192,0,25,7,7,1,54,192,7,8,28,92,0,0,1,187,0,0,135,190,78,0,82,190,190,0,4,187,187,190,1,190,64,0,135,192,11,0,187,178,190,0,85,179,178,0,1,190,0,0,1,187,16,0,2,191,0,0,8,145,2,0,135,192,5,0,190,187,191,179,1,192,0,0,85,2,192,0,1,191,184,0,3,191,3,191,135,192,73,0,191,0,0,0,1,191,40,1,3,191,3,191,135,192,73,0,191,0,0,0,1,191,76,1,3,191,3,191,135,192,73,0,191,0,0,0,1,191,24,1,3,191,3,191,135,192,79,0,191,0,0,0,1,191,28,1,3,191,3,191,135,192,79,0,191,0,0,0,1,191,32,1,3,191,3,191,135,192,79,0,191,0,0,0,1,191,36,1,3,191,3,191,135,192,79,0,191,0,0,0,2,192,0,0,92,224,9,0,82,2,192,0,25,0,0,1,56,192,2,0,8,93,0,0,2,192,0,0,88,224,9,0,82,1,192,0,119,0,186,255,137,180,0,0,139,4,0,0,140,2,118,0,0,0,0,0,2,101,0,0,176,0,0,0,2,102,0,0,0,0,0,128,2,103,0,0,128,0,0,0,2,104,0,0,0,4,0,0,2,105,0,0,224,0,0,0,2,106,0,0,186,8,3,0,2,107,0,0,236,46,0,0,2,108,0,0,233,3,0,0,2,109,0,0,101,1,0,0,2,110,0,0,155,1,0,0,2,111,0,0,137,1,0,0,1,89,0,0,136,112,0,0,0,96,112,0,136,112,0,0,1,113,144,3,3,112,112,113,137,112,0,0,1,112,240,2,3,92,96,112,0,91,96,0,1,112,216,2,3,95,96,112,1,112,200,2,3,88,96,112,1,112,168,2,3,87,96,112,1,112,144,2,3,86,96,112,1,112,136,2,3,77,96,112,1,112,128,2,3,82,96,112,1,112,120,2,3,81,96,112,1,112,112,2,3,76,96,112,1,112,104,2,3,75,96,112,1,112,96,2,3,68,96,112,1,112,88,2,3,70,96,112,1,112,80,2,3,66,96,112,1,112,64,2,3,62,96,112,1,112,32,2,3,61,96,112,1,112,0,2,3,60,96,112,1,112,224,1,3,59,96,112,1,112,216,1,3,65,96,112,1,112,208,1,3,58,96,112,1,112,200,1,3,57,96,112,1,112,192,1,3,63,96,112,1,112,184,1,3,24,96,112,1,112,176,1,3,26,96,112,1,112,168,1,3,25,96,112,1,112,144,1,3,5,96,112,1,112,72,3,3,90,96,112,1,112,64,3,3,85,96,112,1,112,72,1,3,78,96,112,1,112,60,3,3,79,96,112,1,112,56,3,3,80,96,112,1,112,0,1,3,64,96,112,1,112,128,3,3,55,96,112,1,112,120,3,3,56,96,112,1,112,112,3,3,49,96,112,1,112,104,3,3,50,96,112,1,112,96,3,3,51,96,112,1,112,88,3,3,52,96,112,1,112,80,3,3,53,96,112,1,112,56,2,3,71,96,112,25,94,0,16,82,112,94,0,1,113,0,0,1,114,0,0,1,115,1,0,135,83,33,0,112,113,114,115,135,84,2,0,25,93,0,24,82,69,93,0,1,115,88,4,3,4,0,115,82,3,4,0,106,4,4,4,1,115,80,4,3,73,0,115,82,72,73,0,106,73,73,4,25,74,0,4,82,115,74,0,106,115,115,20,106,114,0,12,2,113,0,0,254,7,3,0,135,54,80,0,115,114,113,0,34,113,73,0,32,114,73,0,35,115,72,1,19,114,114,115,20,113,113,114,0,67,113,0,2,114,0,0,14,8,3,0,2,115,0,0,25,8,3,0,1,112,1,0,135,113,81,0,0,114,115,112,32,113,3,0,32,112,4,0,19,113,113,112,121,113,45,0,82,113,74,0,82,3,113,0,2,112,0,0,254,176,3,0,135,113,19,0,3,112,0,0,121,113,28,0,2,112,0,0,170,4,3,0,135,113,19,0,3,112,0,0,32,4,113,0,2,112,0,0,27,8,3,0,135,113,19,0,3,112,0,0,121,113,18,0,2,46,0,0,64,75,76,0,1,47,0,0,2,113,0,0,128,74,93,5,2,112,0,0,64,75,76,0,125,48,4,113,112,0,0,0,2,45,0,0,128,195,201,1,1,112,0,0,1,113,0,0,125,44,4,112,113,0,0,0,1,43,0,0,119,0,17,0,2,46,0,0,64,75,76,0,1,47,0,0,2,48,0,0,192,207,106,0,2,45,0,0,128,195,201,1,1,44,0,0,1,43,0,0,119,0,7,0,0,46,3,0,0,47,4,0,0,48,3,0,0,45,3,0,0,44,4,0,0,43,4,0,82,3,94,0,121,3,26,0,1,113,0,0,1,112,0,0,1,115,1,0,135,36,33,0,3,113,112,115,135,37,2,0,82,41,94,0,25,39,41,104,82,38,39,0,106,39,39,4,106,41,41,112,82,42,93,0,0,40,5,0,85,40,36,0,109,40,4,37,25,40,5,8,85,40,38,0,109,40,4,39,109,5,16,41,109,5,20,42,1,112,48,0,2,113,0,0,34,8,3,0,135,115,5,0,0,112,113,5,82,115,93,0,120,115,3,0,1,89,59,0,119,0,38,1,25,13,0,28,1,115,72,4,3,14,0,115,33,15,1,0,1,115,4,5,3,16,0,115,1,115,20,5,3,19,0,115,1,115,24,5,3,20,0,115,1,115,28,5,3,23,0,115,1,12,0,0,1,115,0,0,85,92,115,0,82,115,13,0,41,113,12,2,94,10,115,113,1,115,184,2,3,8,10,115,82,4,8,0,106,11,4,16,3,9,10,101,82,115,9,0,82,115,115,0,1,113,0,0,1,112,4,0,138,115,113,112,60,97,0,0,56,97,0,0,56,97,0,0,100,97,0,0,119,0,12,0,25,3,11,76,82,113,3,0,120,113,9,0,25,41,10,16,106,42,41,4,0,4,3,0,116,4,41,0,109,4,4,42,82,4,8,0,119,0,2,0,119,0,246,255,25,7,10,8,82,5,7,0,106,6,5,16,25,3,4,24,82,115,3,0,46,115,6,115,152,97,0,0,82,42,9,0,109,42,4,6,25,115,5,8,116,42,115,0,85,3,6,0,1,115,232,0,3,3,10,115,82,115,3,0,120,115,48,0,82,115,14,0,38,115,115,32,120,115,45,0,1,115,184,1,94,115,10,115,34,115,115,1,121,115,41,0,82,115,9,0,106,115,115,4,135,4,82,0,115,0,0,0,85,3,4,0,1,115,228,0,94,3,10,115,120,4,14,0,120,3,2,0,119,0,31,0,82,113,9,0,106,113,113,4,135,115,9,0,113,0,0,0,85,25,115,0,1,113,40,0,2,112,0,0,108,3,3,0,135,115,5,0,0,113,112,25,119,0,20,0,1,115,2,0,1,112,4,0,138,3,115,112,56,98,0,0,52,98,0,0,52,98,0,0,76,98,0,0,119,0,12,0,3,42,4,101,82,115,42,0,39,115,115,1,85,42,115,0,119,0,7,0,3,42,4,101,82,115,42,0,1,112,0,16,20,115,115,112,85,42,115,0,119,0,1,0,82,3,9,0,106,4,3,4,82,115,8,0,25,5,115,24,82,115,5,0,46,115,4,115,132,98,0,0,85,5,4,0,135,3,83,0,11,3,0,0,34,115,3,0,121,115,3,0,1,89,54,0,119,0,142,0,1,115,184,1,3,6,10,115,82,115,6,0,34,115,115,1,121,115,4,0,82,115,8,0,1,112,1,0,109,115,20,112,82,4,9,0,106,5,4,4,82,112,7,0,106,3,112,12,120,3,29,0,82,112,4,0,1,115,0,0,1,113,4,0,138,112,115,113,244,98,0,0,4,99,0,0,240,98,0,0,20,99,0,0,119,0,13,0,82,3,19,0,121,3,11,0,1,89,34,0,119,0,17,0,82,3,20,0,121,3,7,0,1,89,34,0,119,0,13,0,82,3,23,0,121,3,3,0,1,89,34,0,119,0,9,0,135,3,84,0,5,0,0,0,120,3,3,0,1,3,0,0,119,0,4,0,1,89,34,0,119,0,2,0,1,89,34,0,32,112,89,34,121,112,28,0,1,89,0,0,106,112,3,16,2,115,0,0,0,0,2,0,19,112,112,115,121,112,22,0,1,112,0,0,135,4,85,0,112,0,0,0,121,4,18,0,106,112,4,12,45,112,112,5,168,99,0,0,135,112,86,0,4,0,0,0,121,112,8,0,106,112,4,16,2,115,0,0,0,2,2,0,19,112,112,115,120,112,3,0,0,3,4,0,119,0,5,0,135,4,85,0,4,0,0,0,33,112,4,0,120,112,240,255,121,15,5,0,41,115,12,2,3,115,1,115,0,112,115,0,119,0,2,0,0,112,92,0,0,5,112,0,2,115,0,0,150,164,3,0,2,113,0,0,25,8,3,0,1,114,0,0,135,112,4,0,5,115,113,114,82,4,16,0,121,4,6,0,2,114,0,0,161,180,3,0,1,113,0,0,135,112,4,0,5,114,4,113,33,4,3,0,82,112,9,0,82,112,112,0,32,112,112,3,19,112,4,112,121,112,15,0,106,112,11,12,120,112,13,0,135,112,8,0,11,3,5,0,34,112,112,0,121,112,9,0,2,112,0,0,147,8,3,0,85,26,112,0,1,113,24,0,2,114,0,0,119,8,3,0,135,112,5,0,0,113,114,26,1,114,0,0,135,112,87,0,10,114,0,0,120,112,19,0,82,112,6,0,34,112,112,1,19,112,4,112,121,112,15,0,106,112,11,12,120,112,13,0,135,112,8,0,11,3,5,0,34,112,112,0,121,112,9,0,2,112,0,0,147,8,3,0,85,24,112,0,1,114,24,0,2,113,0,0,119,8,3,0,135,112,5,0,0,114,113,24,120,15,3,0,135,112,79,0,92,0,0,0,25,12,12,1,82,5,93,0,55,112,12,5,236,96,0,0,32,112,89,54,121,112,5,0,0,2,3,0,1,3,0,0,1,89,229,1,119,0,26,0,120,5,3,0,1,89,59,0,119,0,23,0,106,4,0,28,1,3,0,0,41,112,3,2,94,112,4,112,1,113,180,0,94,89,112,113,0,42,89,0,1,112,0,0,85,42,112,0,109,42,4,102,25,42,89,72,1,112,0,0,85,42,112,0,109,42,4,102,25,89,89,88,1,112,0,0,85,89,112,0,109,89,4,102,25,3,3,1,53,112,3,5,252,100,0,0,1,89,59,0,32,112,89,59,121,112,118,14,1,112,160,4,3,28,0,112,135,112,88,0,28,0,0,0,120,112,172,5,32,29,54,0,25,41,0,28,1,112,152,4,3,30,0,112,1,112,192,4,3,31,0,112,25,32,0,20,1,112,72,4,3,33,0,112,1,112,12,5,3,39,0,112,25,34,55,4,25,26,56,4,25,35,49,4,33,40,1,0,25,27,50,4,25,36,51,4,25,37,52,4,25,38,53,4,1,42,0,0,1,13,0,0,1,12,0,0,15,112,13,73,13,113,13,73,16,114,12,72,19,113,113,114,20,112,112,113,0,11,112,0,82,112,93,0,120,112,3,0,1,3,0,0,119,0,115,1,1,3,0,0,82,112,41,0,41,113,3,2,94,10,112,113,1,113,0,0,135,112,87,0,10,113,0,0,120,112,2,0,119,0,106,1,106,112,10,16,76,112,112,0,106,113,10,20,76,113,113,0,66,112,112,113,62,113,0,0,252,169,241,210,77,98,64,63,73,112,112,113,1,113,40,0,1,114,20,0,125,4,112,113,114,0,0,0,1,114,184,2,94,7,10,114,106,8,7,16,106,25,8,80,34,114,25,0,41,114,114,31,42,114,114,31,0,23,114,0,106,20,8,76,34,114,20,0,41,114,114,31,42,114,114,31,0,24,114,0,1,114,101,0,1,113,0,0,135,19,89,0,20,24,114,113,135,16,2,0,1,113,5,0,1,114,0,0,135,24,89,0,20,24,113,114,135,20,2,0,15,114,16,23,13,113,16,23,18,112,19,25,19,113,113,112,20,114,114,113,15,113,23,20,13,112,20,23,16,115,25,24,19,112,112,115,20,113,113,112,20,114,114,113,121,114,3,0,1,89,70,0,119,0,191,0,106,114,8,20,2,113,0,0,109,112,52,118,45,114,114,113,240,102,0,0,1,89,70,0,119,0,184,0,106,114,8,16,1,113,2,0,1,112,172,0,138,114,113,112,184,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,192,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,196,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,176,105,0,0,200,105,0,0,1,4,0,0,119,0,6,0,1,89,70,0,119,0,4,0,119,0,254,255,119,0,253,255,119,0,252,255,32,114,89,70,121,114,2,0,1,89,0,0,82,6,30,0,25,9,10,48,82,113,9,0,19,113,113,104,32,113,113,0,121,113,7,0,1,112,255,255,15,112,112,6,125,113,112,6,4,0,0,0,0,114,113,0,119,0,3,0,1,113,0,0,0,114,113,0,0,6,114,0,1,114,180,0,94,5,10,114,82,114,74,0,106,114,114,8,19,114,114,103,120,114,3,0,106,4,5,16,119,0,9,0,25,4,5,48,82,114,4,0,106,113,4,4,1,112,2,0,1,115,0,0,135,4,90,0,114,113,112,115,135,115,2,0,1,115,164,0,94,115,10,115,120,115,3,0,1,89,76,0,119,0,4,0,106,115,10,68,120,115,2,0,1,89,76,0,32,115,89,76,121,115,12,0,1,89,0,0,47,112,4,6,156,106,0,0,94,112,10,101,82,112,112,0,32,112,112,0,0,115,112,0,119,0,3,0,1,112,0,0,0,115,112,0,120,115,67,0,34,115,4,2,106,112,5,56,33,112,112,0,19,115,115,112,121,115,5,0,1,115,140,0,94,115,8,115,120,115,2,0,119,0,58,0,106,115,8,68,120,115,23,0,106,115,7,36,121,115,4,0,106,115,7,28,120,115,2,0,119,0,18,0,135,4,91,0,106,0,0,0,121,4,15,0,106,4,4,4,120,4,2,0,119,0,12,0,82,5,4,0,120,5,2,0,119,0,9,0,94,115,10,101,106,6,115,4,25,4,4,4,52,115,5,6,176,107,0,0,82,5,4,0,33,115,5,0,120,115,251,255,1,115,192,0,3,25,10,115,82,112,25,0,32,112,112,0,121,112,5,0,106,112,25,4,13,112,112,102,0,115,112,0,119,0,3,0,1,112,0,0,0,115,112,0,121,115,18,0,82,115,74,0,106,115,115,8,19,115,115,103,120,115,14,0,82,115,9,0,19,115,115,104,120,115,3,0,82,4,31,0,119,0,2,0,1,4,1,0,94,115,10,105,56,115,4,115,160,107,0,0,94,115,10,101,82,115,115,0,35,115,115,2,120,115,5,0,25,3,3,1,82,115,93,0,55,115,3,115,236,101,0,0,121,29,3,0,1,89,97,0,119,0,6,0,82,115,54,0,120,115,3,0,1,89,97,0,119,0,2,0,1,14,0,0,32,115,89,97,121,115,13,0,1,89,0,0,82,115,93,0,45,115,3,115,4,108,0,0,82,115,32,0,38,115,115,1,120,115,3,0,1,89,99,0,119,0,216,2,1,14,1,0,119,0,2,0,1,14,0,0,120,11,3,0,1,89,101,0,119,0,210,2,134,8,0,0,200,235,0,0,0,64,0,0,33,115,8,250,120,115,7,0,135,115,88,0,28,0,0,0,121,115,106,254,0,3,42,0,1,89,63,0,119,0,248,3,34,115,8,0,121,115,3,0,1,89,204,0,119,0,195,2,82,115,33,0,38,115,115,64,120,115,29,0,82,5,39,0,25,4,5,4,25,5,5,8,1,115,80,0,135,6,92,0,115,0,0,0,120,6,3,0,1,2,208,255,119,0,183,2,135,7,93,0,64,0,0,0,34,115,7,0,121,115,3,0,1,89,114,0,119,0,177,2,135,115,94,0,6,64,0,0,82,115,4,0,120,115,3,0,85,4,6,0,119,0,3,0,82,115,5,0,109,115,72,6,85,5,6,0,1,8,0,0,82,115,39,0,106,23,115,8,119,0,2,0,0,23,64,0,82,115,41,0,106,112,23,32,41,112,112,2,94,25,115,112,106,115,25,48,19,115,115,104,120,115,9,0,106,24,23,28,34,115,24,0,41,115,115,31,42,115,115,31,135,24,44,0,12,13,24,115,135,13,2,0,119,0,2,0,0,24,12,0,1,115,184,2,3,19,25,115,82,20,19,0,106,15,20,16,106,115,20,20,120,115,11,0,94,115,25,101,135,8,83,0,15,115,0,0,34,115,8,0,121,115,3,0,0,2,8,0,119,0,134,2,82,115,19,0,1,112,1,0,109,115,20,112,25,16,23,16,0,7,16,0,82,6,7,0,106,7,7,4,3,20,25,105,82,4,20,0,32,112,6,0,13,115,7,102,19,112,112,115,121,112,3,0,1,89,136,0,119,0,133,0,1,112,1,0,47,112,112,4,144,111,0,0,1,112,180,0,3,10,25,112,82,5,10,0,25,12,5,88,82,11,12,0,106,12,12,4,32,112,11,0,13,115,12,102,19,112,112,115,15,115,12,7,13,113,12,7,16,114,11,6,19,113,113,114,20,115,115,113,20,112,112,115,121,112,64,0,32,112,11,0,13,115,12,102,19,112,112,115,120,112,84,0,106,4,5,96,106,6,5,80,47,112,6,4,196,110,0,0,0,9,16,0,82,7,9,0,106,9,9,4,135,97,20,0,7,9,11,12,135,112,2,0,1,115,232,3,1,113,0,0,135,97,95,0,97,112,115,113,135,98,2,0,25,99,5,72,82,113,99,0,106,115,99,4,135,99,20,0,11,12,113,115,4,89,4,6,135,115,2,0,34,113,89,0,41,113,113,31,42,113,113,31,135,89,95,0,99,115,89,113,135,6,2,0,16,113,6,98,13,115,98,6,16,112,89,97,19,115,115,112,20,113,113,115,121,113,50,0,82,5,20,0,116,60,25,0,109,60,4,4,25,99,60,8,85,99,11,0,109,99,4,12,109,60,16,5,25,5,60,24,85,5,7,0,109,5,4,9,1,115,24,0,2,112,0,0,180,9,3,0,135,113,5,0,0,115,112,60,82,5,10,0,25,99,5,88,1,113,0,0,85,99,113,0,109,99,4,102,25,99,5,72,1,113,0,0,85,99,113,0,109,99,4,102,119,0,25,0,106,5,5,96,116,59,25,0,109,59,4,5,25,5,59,8,85,5,11,0,109,5,4,12,109,59,16,4,25,5,59,24,85,5,6,0,109,5,4,7,1,112,48,0,2,115,0,0,97,9,3,0,135,113,5,0,0,112,115,59,82,5,10,0,25,99,5,88,1,113,0,0,85,99,113,0,109,99,4,102,25,99,5,72,1,113,0,0,85,99,113,0,109,99,4,102,25,4,5,72,0,99,4,0,0,7,16,0,82,6,7,0,106,7,7,4,82,115,99,0,32,115,115,0,121,115,5,0,106,115,99,4,13,115,115,102,0,113,115,0,119,0,3,0,1,115,0,0,0,113,115,0,121,113,6,0,85,4,6,0,109,4,4,7,82,4,20,0,109,5,80,4,119,0,2,0,82,4,20,0,25,89,5,88,85,89,6,0,109,89,4,7,109,5,96,4,1,89,136,0,1,113,136,0,45,113,89,113,36,116,0,0,1,89,0,0,1,113,1,0,47,113,113,4,36,116,0,0,25,10,25,16,1,113,0,0,106,115,25,20,47,113,113,115,16,112,0,0,1,113,180,0,94,113,25,113,25,7,113,40,82,4,7,0,106,7,7,4,1,113,1,0,85,55,113,0,2,113,0,0,64,66,15,0,85,34,113,0,116,91,10,0,106,115,10,4,109,91,4,115,116,92,55,0,106,113,55,4,109,92,4,113,135,7,34,0,4,7,91,92,135,4,2,0,119,0,3,0,1,4,0,0,1,7,0,0,25,6,25,68,82,9,6,0,1,113,0,0,47,113,113,9,236,112,0,0,82,99,20,0,25,5,25,72,116,56,5,0,85,26,9,0,1,113,1,0,85,49,113,0,2,113,0,0,64,66,15,0,85,35,113,0,116,91,56,0,106,115,56,4,109,91,4,115,116,92,49,0,106,113,49,4,109,92,4,113,34,113,99,0,41,113,113,31,42,113,113,31,135,99,34,0,99,113,91,92,135,98,2,0,15,113,98,4,13,115,4,98,16,112,99,7,19,115,115,112,20,113,113,115,120,113,22,0,82,7,20,0,82,4,6,0,116,50,5,0,85,27,4,0,1,113,1,0,85,51,113,0,2,113,0,0,64,66,15,0,85,36,113,0,116,91,50,0,106,115,50,4,109,91,4,115,116,92,51,0,106,113,51,4,109,92,4,113,34,113,7,0,41,113,113,31,42,113,113,31,135,7,34,0,7,113,91,92,135,4,2,0,32,113,7,0,32,115,4,0,19,113,113,115,121,113,77,0,1,113,30,0,82,115,20,0,47,113,113,115,36,114,0,0,1,113,180,0,3,6,25,113,82,4,6,0,25,9,4,72,82,7,9,0,106,9,9,4,32,113,7,0,13,115,9,102,19,113,113,115,121,113,4,0,1,4,0,0,1,7,0,0,119,0,60,0,25,5,4,88,82,4,5,0,106,5,5,4,32,113,4,0,13,115,5,102,19,113,113,115,121,113,4,0,1,4,0,0,1,7,0,0,119,0,50,0,135,98,20,0,4,5,7,9,135,99,2,0,1,113,1,0,85,52,113,0,2,113,0,0,64,66,15,0,85,37,113,0,116,91,10,0,106,115,10,4,109,91,4,115,116,92,52,0,106,113,52,4,109,92,4,113,135,113,34,0,98,99,91,92,135,113,2,0,34,113,113,0,121,113,4,0,1,4,0,0,1,7,0,0,119,0,28,0,82,4,6,0,25,7,4,88,25,4,4,72,82,113,7,0,106,115,7,4,82,112,4,0,106,114,4,4,135,4,20,0,113,115,112,114,135,7,2,0,1,114,1,0,85,53,114,0,2,114,0,0,64,66,15,0,85,38,114,0,116,91,10,0,106,112,10,4,109,91,4,112,116,92,53,0,106,114,53,4,109,92,4,114,135,7,34,0,4,7,91,92,135,4,2,0,119,0,3,0,1,4,0,0,1,7,0,0,120,14,8,0,106,114,15,8,32,6,114,3,125,5,6,43,44,0,0,0,125,6,6,45,48,0,0,0,119,0,3,0,0,5,47,0,0,6,46,0,15,114,4,5,13,112,4,5,16,115,7,6,19,112,112,115,20,114,114,112,120,114,3,0,1,89,151,0,119,0,58,1,25,5,23,48,82,4,5,0,106,5,5,4,32,114,4,0,32,112,5,0,19,114,114,112,120,114,102,0,106,114,15,8,32,114,114,3,121,114,52,0,25,7,23,8,82,6,7,0,106,7,7,4,32,114,6,0,13,112,7,102,19,114,114,112,121,114,3,0,1,89,158,0,119,0,44,0,25,9,25,24,82,8,9,0,106,9,9,4,32,114,8,0,13,112,9,102,19,114,114,112,15,112,7,9,13,115,7,9,16,113,6,8,19,115,115,113,20,112,112,115,20,114,114,112,121,114,3,0,1,89,158,0,119,0,29,0,135,12,20,0,6,7,8,9,135,98,2,0,1,114,180,0,94,99,25,114,25,10,99,40,0,11,10,0,82,114,11,0,106,112,11,4,135,11,44,0,114,112,4,5,135,97,2,0,15,112,97,98,13,114,98,97,16,115,11,12,19,114,114,115,20,112,112,114,0,14,112,0,0,5,10,0,125,112,14,11,12,0,0,0,85,5,112,0,125,114,14,97,98,0,0,0,109,5,4,114,0,5,99,0,119,0,2,0,1,89,158,0,1,114,158,0,45,114,89,114,176,115,0,0,1,89,0,0,1,114,180,0,94,99,25,114,25,14,99,40,0,97,14,0,82,114,97,0,106,112,97,4,135,97,44,0,114,112,4,5,135,98,2,0,0,5,14,0,85,5,97,0,109,5,4,98,0,5,99,0,1,112,232,0,94,4,25,112,120,4,3,0,1,4,2,0,119,0,13,0,1,112,228,0,94,112,25,112,120,112,3,0,1,4,2,0,119,0,8,0,106,112,15,84,33,112,112,2,121,112,3,0,1,4,2,0,119,0,3,0,106,112,4,36,25,4,112,1,25,99,5,48,0,97,99,0,82,112,97,0,106,114,97,4,34,115,4,0,41,115,115,31,42,115,115,31,135,97,44,0,112,114,4,115,135,98,2,0,85,99,97,0,109,99,4,98,3,8,25,101,82,115,8,0,82,115,115,0,120,115,29,0,0,98,16,0,1,114,0,0,82,112,98,0,106,113,98,4,135,115,96,0,114,25,112,113,0,98,16,0,82,16,98,0,106,98,98,4,25,99,23,8,82,97,99,0,106,99,99,4,32,115,97,0,13,113,99,102,19,115,115,113,32,113,16,0,13,112,98,102,19,113,113,112,13,112,16,97,13,114,98,99,19,112,112,114,20,113,113,112,20,115,115,113,120,115,5,0,1,115,180,0,94,115,25,115,1,113,1,0,109,115,56,113,82,10,19,0,25,11,10,16,82,113,11,0,106,113,113,68,120,113,141,0,25,9,10,36,82,113,9,0,120,113,60,0,135,7,91,0,106,0,0,0,121,7,55,0,135,4,91,0,106,0,0,0,121,4,52,0,106,4,4,4,120,4,2,0,119,0,49,0,82,5,4,0,120,5,2,0,119,0,46,0,82,113,8,0,106,6,113,4,25,4,4,4,52,113,5,6,20,117,0,0,82,5,4,0,120,5,252,255,119,0,38,0,135,99,97,0,109,10,32,99,120,99,3,0,1,2,208,255,119,0,141,0,25,5,10,28,135,4,98,0,7,5,0,0,34,113,4,0,121,113,4,0,0,2,4,0,1,89,180,0,119,0,133,0,82,113,5,0,106,113,113,16,82,115,8,0,135,4,99,0,113,115,0,0,34,115,4,0,121,115,4,0,0,2,4,0,1,89,180,0,119,0,123,0,25,98,25,16,106,99,98,4,82,115,5,0,25,4,115,24,116,4,98,0,109,4,4,99,82,115,5,0,135,4,100,0,115,0,0,0,34,115,4,0,121,115,4,0,0,2,4,0,1,89,180,0,119,0,109,0,1,115,1,0,85,9,115,0,25,8,10,28,82,115,8,0,121,115,76,0,106,7,10,32,135,4,101,0,7,23,0,0,34,115,4,0,121,115,3,0,0,2,4,0,119,0,97,0,82,115,8,0,135,4,102,0,115,7,0,0,34,115,4,0,121,115,3,0,1,89,186,0,119,0,90,0,82,115,11,0,106,115,115,68,120,115,59,0,82,115,8,0,135,5,103,0,115,7,0,0,34,115,5,0,121,115,20,0,34,115,5,250,121,115,10,0,2,115,0,0,187,176,185,223,1,113,1,0,138,5,115,113,60,118,0,0,0,2,5,0,1,89,197,0,119,0,72,0,119,0,40,0,1,115,250,255,1,113,1,0,138,5,115,113,92,118,0,0,0,2,5,0,1,89,197,0,119,0,64,0,119,0,32,0,1,115,1,0,135,6,50,0,7,115,92,0,121,6,26,0,82,115,11,0,106,115,115,68,121,115,3,0,1,89,192,0,119,0,54,0,82,4,92,0,2,115,0,0,192,255,255,15,50,115,115,4,160,118,0,0,1,89,195,0,119,0,47,0,25,115,4,64,135,4,92,0,115,0,0,0,82,115,11,0,109,115,68,4,120,4,3,0,1,89,195,0,119,0,39,0,82,99,92,0,135,115,52,0,4,6,99,0,82,115,11,0,109,115,72,99,135,115,60,0,7,0,0,0,1,115,255,255,54,115,115,5,244,117,0,0,15,112,3,69,19,112,40,112,121,112,5,0,41,112,3,2,3,112,1,112,0,113,112,0,119,0,3,0,1,112,0,0,0,113,112,0,135,115,104,0,0,25,23,113,82,115,33,0,38,115,115,64,121,115,3,0,135,115,60,0,64,0,0,0,82,115,20,0,25,115,115,1,85,20,115,0,25,3,42,1,135,115,88,0,28,0,0,0,120,115,4,0,0,42,3,0,0,12,24,0,119,0,157,251,1,89,63,0,119,0,50,1,32,115,89,99,121,115,9,0,1,113,48,0,2,112,0,0,204,8,3,0,135,115,5,0,0,113,112,57,0,3,42,0,0,32,42,0,119,0,40,1,32,115,89,101,121,115,52,0,0,2,58,0,85,2,72,0,109,2,4,73,1,112,48,0,2,113,0,0,220,8,3,0,135,115,5,0,0,112,113,58,82,2,93,0,120,2,5,0,0,3,42,0,0,8,42,0,1,89,237,0,119,0,24,1,1,4,0,0,82,115,41,0,41,113,4,2,94,3,115,113,1,115,164,0,94,115,3,115,120,115,23,0,1,115,180,0,94,115,3,115,106,115,115,16,34,115,115,2,121,115,18,0,94,115,3,101,82,115,115,0,120,115,15,0,82,113,74,0],eb+20480);HEAPU8.set([82,113,113,0,2,112,0,0,11,9,3,0,135,115,19,0,113,112,0,0,121,115,8,0,85,65,4,0,1,112,24,0,2,113,0,0,18,9,3,0,135,115,5,0,0,112,113,65,82,2,93,0,25,4,4,1,50,115,2,4,80,120,0,0,0,3,42,0,0,8,42,0,1,89,237,0,119,0,244,0,119,0,221,255,32,115,89,114,121,115,5,0,135,115,105,0,6,0,0,0,0,2,7,0,119,0,230,0,1,115,151,0,45,115,89,115,216,120,0,0,106,99,23,32,0,98,61,0,85,98,6,0,109,98,4,5,25,98,61,8,85,98,7,0,109,98,4,4,109,61,16,99,1,113,40,0,2,112,0,0,6,10,3,0,135,115,5,0,0,113,112,61,82,115,33,0,38,115,115,64,120,115,4,0,0,3,42,0,1,89,237,0,119,0,215,0,135,115,60,0,64,0,0,0,0,3,42,0,1,89,237,0,119,0,210,0,1,115,180,0,45,115,89,115,252,120,0,0,135,115,106,0,5,0,0,0,25,112,10,32,135,115,107,0,112,0,0,0,119,0,194,0,1,115,186,0,45,115,89,115,24,121,0,0,135,115,60,0,7,0,0,0,0,2,4,0,119,0,187,0,1,115,192,0,45,115,89,115,100,121,0,0,2,115,0,0,68,10,3,0,85,62,115,0,2,112,0,0,180,254,2,0,109,62,4,112,1,115,0,14,109,62,8,115,1,112,0,0,1,113,0,0,2,114,0,0,41,21,4,0,135,115,5,0,112,113,114,62,135,115,62,0,119,0,168,0,1,115,195,0,45,115,89,115,132,121,0,0,135,115,60,0,7,0,0,0,1,2,208,255,1,89,197,0,119,0,160,0,1,115,204,0,45,115,89,115,0,124,0,0,82,115,93,0,120,115,4,0,0,3,42,0,1,89,237,0,119,0,159,0,1,115,20,5,3,13,0,115,1,115,24,5,3,10,0,115,1,115,28,5,3,11,0,115,1,115,4,5,3,12,0,115,1,9,0,0,82,115,41,0,41,114,9,2,94,7,115,114,1,115,184,2,3,6,7,115,82,115,6,0,106,5,115,16,1,114,0,0,135,115,87,0,7,114,0,0,120,115,88,0,94,3,7,101,106,4,3,4,106,115,7,8,106,2,115,12,120,2,22,0,82,115,3,0,1,114,0,0,1,113,4,0,138,115,114,113,44,122,0,0,56,122,0,0,40,122,0,0,68,122,0,0,119,0,9,0,82,2,13,0,121,2,7,0,119,0,10,0,82,2,10,0,121,2,4,0,119,0,7,0,82,2,11,0,120,2,5,0,135,2,84,0,4,0,0,0,120,2,2,0,119,0,62,0,106,115,2,16,2,114,0,0,0,0,2,0,19,115,115,114,121,115,24,0,1,115,0,0,135,3,85,0,115,0,0,0,121,3,20,0,106,115,3,12,45,115,115,4,180,122,0,0,135,115,86,0,3,0,0,0,121,115,8,0,106,115,3,16,2,114,0,0,0,2,2,0,19,115,115,114,120,115,3,0,0,2,3,0,119,0,7,0,135,3,85,0,3,0,0,0,33,115,3,0,120,115,240,255,120,2,2,0,119,0,34,0,106,115,5,12,120,115,32,0,1,115,0,0,85,92,115,0,82,3,12,0,121,3,6,0,2,114,0,0,161,180,3,0,1,113,0,0,135,115,4,0,92,114,3,113,15,114,9,69,19,114,40,114,121,114,5,0,41,114,9,2,3,114,1,114,0,113,114,0,119,0,2,0,0,113,92,0,135,115,8,0,5,2,113,0,34,115,115,0,121,115,9,0,2,115,0,0,147,8,3,0,85,66,115,0,1,113,24,0,2,114,0,0,119,8,3,0,135,115,5,0,0,113,114,66,135,115,79,0,92,0,0,0,82,115,39,0,106,4,115,4,121,4,34,0,94,115,7,101,106,115,115,4,32,115,115,27,121,115,30,0,1,115,180,0,94,115,7,115,121,115,27,0,82,115,6,0,106,115,115,16,1,114,140,0,94,3,115,114,34,115,3,3,121,115,7,0,1,115,6,0,1,114,224,1,94,114,7,114,54,115,115,114,224,123,0,0,119,0,13,0,1,115,224,1,94,2,7,115,32,115,3,3,121,115,5,0,1,115,17,0,54,115,115,2,224,123,0,0,119,0,5,0,1,115,19,0,54,115,115,2,224,123,0,0,119,0,1,0,135,115,108,0,0,9,4,0,25,9,9,1,82,115,93,0,50,115,115,9,252,123,0,0,0,3,42,0,1,89,237,0,119,0,9,0,119,0,115,255,135,115,60,0,64,0,0,0,0,3,42,0,1,89,229,1,119,0,198,8,1,3,0,0,1,89,63,0,32,115,89,63,121,115,9,0,1,114,48,0,2,113,0,0,173,8,3,0,135,115,5,0,0,114,113,63,2,8,0,0,187,167,182,171,1,89,237,0,1,115,237,0,45,115,89,115,176,125,0,0,121,67,3,0,0,32,8,0,119,0,86,0,0,2,92,0,25,4,2,72,1,115,0,0,85,2,115,0,25,2,2,4,54,115,2,4,100,124,0,0,135,115,63,0,92,0,0,0,82,115,93,0,121,115,74,0,25,7,0,28,120,1,33,0,1,2,0,0,82,115,7,0,41,113,2,2,94,4,115,113,1,115,180,0,94,115,4,115,106,115,115,60,32,115,115,1,121,115,19,0,1,115,0,0,135,5,104,0,0,4,92,115,36,115,5,0,120,115,6,0,1,113,0,0,135,115,87,0,4,113,0,0,121,115,248,255,119,0,9,0,34,115,5,0,121,115,7,0,116,68,4,0,1,113,32,0,2,114,0,0,91,10,3,0,135,115,5,0,0,113,114,68,25,2,2,1,82,115,93,0,55,115,2,115,148,124,0,0,119,0,40,0,1,2,0,0,82,115,7,0,41,114,2,2,94,4,115,114,1,115,180,0,94,115,4,115,106,115,115,60,32,115,115,1,121,115,27,0,47,114,2,69,76,125,0,0,41,114,2,2,3,114,1,114,0,115,114,0,119,0,3,0,1,114,0,0,0,115,114,0,0,5,115,0,135,6,104,0,0,4,92,5,36,115,6,0,120,115,6,0,1,114,0,0,135,115,87,0,4,114,0,0,121,115,249,255,119,0,9,0,34,115,6,0,121,115,7,0,116,70,4,0,1,114,32,0,2,113,0,0,91,10,3,0,135,115,5,0,0,114,113,70,25,2,2,1,82,115,93,0,55,115,2,115,20,125,0,0,0,32,8,0,135,115,109,0,0,0,0,0,82,115,93,0,121,115,175,1,25,16,0,28,25,19,90,4,1,115,12,5,3,20,0,115,25,23,92,4,25,24,92,8,25,25,91,4,25,26,91,8,25,27,91,12,25,28,91,16,25,29,91,20,1,15,0,0,82,115,16,0,41,113,15,2,94,30,115,113,1,115,184,2,94,115,30,115,106,31,115,16,106,115,31,8,1,116,0,0,1,113,2,0,138,115,116,113,36,126,0,0,212,131,0,0,119,0,145,1,106,113,31,16,32,113,113,13,121,113,18,0,25,2,31,20,82,113,2,0,120,113,15,0,1,113,160,2,94,113,31,113,120,113,12,0,25,99,31,112,82,113,99,0,135,4,110,0,113,0,0,0,135,113,111,0,135,98,112,0,113,4,0,0,82,113,99,0,45,113,98,113,116,126,0,0,85,2,4,0,1,113,180,0,94,2,30,113,25,10,2,48,82,9,10,0,106,10,10,4,32,113,9,0,32,114,10,0,19,113,113,114,120,113,254,0,25,14,30,68,82,113,14,0,120,113,251,0,25,4,2,40,82,2,4,0,106,4,4,4,32,113,2,0,32,114,4,0,19,113,113,114,120,113,244,0,1,113,248,2,3,12,31,113,82,11,12,0,106,12,12,4,106,5,30,16,34,113,5,0,41,113,113,31,42,113,113,31,0,6,113,0,1,113,255,255,2,114,0,0,255,255,255,127,135,99,90,0,113,114,5,6,135,114,2,0,1,113,2,0,1,112,0,0,135,99,90,0,99,114,113,112,135,98,2,0,15,112,4,98,13,113,4,98,16,114,2,99,19,113,113,114,20,112,112,113,120,112,2,0,119,0,79,1,106,7,30,20,34,112,7,0,41,112,112,31,42,112,112,31,0,8,112,0,1,112,255,255,2,113,0,0,255,255,255,127,135,99,90,0,112,113,7,8,135,98,2,0,34,113,4,0,15,112,98,10,13,114,10,98,18,116,99,9,19,114,114,116,20,112,112,114,20,113,113,112,120,113,60,1,25,13,30,72,135,97,89,0,9,10,7,8,135,98,2,0,1,113,1,0,135,99,49,0,2,4,113,0,135,113,2,0,135,99,89,0,99,113,5,6,135,112,2,0,2,114,0,0,96,234,0,0,1,116,0,0,135,113,113,0,14,13,97,98,99,112,114,116,82,113,14,0,76,113,113,0,82,116,13,0,76,116,116,0,66,22,113,116,76,116,11,0,76,113,12,0,66,21,116,113,1,113,0,0,15,113,113,12,1,114,0,0,47,114,114,11,4,128,0,0,82,114,20,0,106,114,114,100,33,114,114,0,0,116,114,0,119,0,3,0,1,114,0,0,0,116,114,0,19,113,113,116,121,113,79,0,62,17,0,0,123,20,174,71,225,122,132,63,1,2,0,0,1,6,0,0,1,113,104,1,48,113,6,113,64,128,0,0,5,113,6,108,3,4,113,108,119,0,41,0,1,113,134,1,48,113,6,113,96,128,0,0,5,113,6,107,2,116,0,0,76,77,60,0,4,4,113,116,119,0,33,0,48,116,6,111,152,128,0,0,1,116,80,0,85,92,116,0,1,116,120,0,85,23,116,0,1,116,240,0,85,24,116,0,1,116,134,1,4,116,6,116,41,116,116,2,94,116,92,116,5,4,116,107,119,0,19,0,1,116,24,0,85,91,116,0,1,116,30,0,85,25,116,0,1,116,60,0,85,26,116,0,1,116,12,0,85,27,116,0,1,116,15,0,85,28,116,0,1,116,48,0,85,29,116,0,4,116,6,111,41,116,116,2,94,116,91,116,1,113,224,46,5,4,116,113,119,0,1,0,76,113,4,0,59,116,236,46,66,18,113,116,66,116,22,18,59,113,255,255,63,116,116,113,135,100,53,0,116,0,0,0,71,99,100,17,126,17,99,100,17,0,0,0,66,116,21,18,59,113,255,255,63,116,116,113,135,18,53,0,116,0,0,0,71,5,18,17,20,116,5,99,125,2,116,4,2,0,0,0,25,6,6,1,1,116,143,1,52,116,6,116,96,130,0,0,126,17,5,18,17,0,0,0,119,0,184,255,62,17,0,0,123,20,174,71,225,122,132,63,1,2,0,0,1,5,0,0,1,116,104,1,48,116,5,116,120,129,0,0,5,116,5,108,3,4,116,108,119,0,41,0,1,116,134,1,48,116,5,116,152,129,0,0,5,116,5,107,2,113,0,0,76,77,60,0,4,4,116,113,119,0,33,0,48,113,5,111,208,129,0,0,1,113,80,0,85,92,113,0,1,113,120,0,85,23,113,0,1,113,240,0,85,24,113,0,1,113,134,1,4,113,5,113,41,113,113,2,94,113,92,113,5,4,113,107,119,0,19,0,1,113,24,0,85,91,113,0,1,113,30,0,85,25,113,0,1,113,60,0,85,26,113,0,1,113,12,0,85,27,113,0,1,113,15,0,85,28,113,0,1,113,48,0,85,29,113,0,4,113,5,111,41,113,113,2,94,113,91,113,1,116,224,46,5,4,113,116,119,0,1,0,76,116,4,0,59,113,236,46,66,116,116,113,66,116,22,116,59,113,255,255,63,116,116,113,135,18,53,0,116,0,0,0,71,6,18,17,125,2,6,4,2,0,0,0,25,5,5,1,1,116,143,1,52,116,5,116,96,130,0,0,126,17,6,18,17,0,0,0,119,0,193,255,121,2,11,0,34,113,2,0,41,113,113,31,42,113,113,31,1,114,0,0,2,112,0,0,255,255,255,127,1,117,0,0,135,116,113,0,14,13,2,113,107,114,112,117,1,116,164,0,3,2,30,116,82,116,2,0,120,116,54,0,106,4,31,80,34,116,4,0,41,116,116,31,42,116,116,31,0,5,116,0,106,6,30,16,34,116,6,0,41,116,116,31,42,116,116,31,135,98,89,0,6,116,4,5,135,70,2,0,106,7,31,76,106,8,31,84,5,99,8,7,106,9,30,20,34,116,99,0,41,116,116,31,42,116,116,31,34,117,9,0,41,117,117,31,42,117,117,31,135,99,89,0,99,116,9,117,135,97,2,0,15,117,97,70,13,116,70,97,16,112,99,98,19,116,116,112,20,117,117,116,121,117,5,0,85,2,9,0,1,117,168,0,97,30,117,6,119,0,19,0,34,117,8,0,41,117,117,31,42,117,117,31,34,116,7,0,41,116,116,31,42,116,116,31,135,99,89,0,8,117,7,116,1,117,168,0,3,117,30,117,135,112,2,0,2,114,0,0,255,255,255,127,1,113,0,0,135,116,113,0,2,117,4,5,99,112,114,113,119,0,1,0,1,116,176,2,3,2,30,116,82,116,2,0,121,116,58,0,1,116,180,2,94,116,30,116,121,116,55,0,25,116,31,96,116,90,116,0,25,116,31,92,116,19,116,0,116,91,2,0,106,113,2,4,109,91,4,113,116,92,90,0,106,116,90,4,109,92,4,116,135,116,114,0,71,91,92,0,0,97,71,0,106,98,97,4,25,99,30,56,116,99,97,0,109,99,4,98,119,0,37,0,1,116,160,2,3,2,31,116,82,116,2,0,120,116,5,0,106,113,31,16,135,116,115,0,113,0,0,0,85,2,116,0,1,116,136,1,94,116,31,116,1,113,1,0,1,114,8,0,138,116,113,114,44,132,0,0,56,132,0,0,68,132,0,0,40,132,0,0,76,132,0,0,40,132,0,0,40,132,0,0,88,132,0,0,119,0,15,0,1,114,0,2,109,30,48,114,119,0,12,0,1,113,0,1,109,30,48,113,119,0,9,0,109,30,48,103,119,0,7,0,1,114,8,0,109,30,48,114,119,0,4,0,1,113,32,0,109,30,48,113,119,0,1,0,25,15,15,1,82,115,93,0,57,115,115,15,120,132,0,0,119,0,95,254,32,115,72,0,32,116,73,0,19,115,115,116,120,115,210,4,82,2,74,0,106,115,2,8,38,115,115,1,120,115,21,0,82,115,94,0,135,4,116,0,115,0,0,0,135,5,2,0,1,115,0,0,15,115,115,5,32,116,5,0,1,113,0,0,16,113,113,4,19,116,116,113,20,115,115,116,0,99,115,0,82,2,74,0,1,115,0,0,125,4,99,4,115,0,0,0,1,115,0,0,125,5,99,5,115,0,0,0,119,0,3,0,1,4,0,0,1,5,0,0,82,2,2,0,2,116,0,0,254,176,3,0,135,115,19,0,2,116,0,0,120,115,9,0,32,115,4,0,32,116,5,0,19,115,115,116,121,115,3,0,1,89,133,1,119,0,16,0,1,89,57,1,119,0,14,0,33,115,4,0,33,116,5,0,20,115,115,116,2,113,0,0,27,8,3,0,135,116,19,0,2,113,0,0,32,116,116,0,19,115,115,116,121,115,3,0,1,89,57,1,119,0,2,0,1,89,133,1,1,115,57,1,45,115,89,115,24,145,0,0,82,115,94,0,106,115,115,84,38,115,115,1,120,115,3,0,1,89,133,1,119,0,231,2,1,115,12,5,3,6,0,115,82,2,6,0,121,2,58,0,25,5,2,32,25,4,2,36,82,2,5,0,121,2,10,0,85,92,2,0,0,99,2,0,106,2,2,72,135,115,60,0,99,0,0,0,135,115,73,0,92,0,0,0,33,115,2,0,120,115,248,255,1,115,0,0,85,5,115,0,1,115,0,0,85,4,115,0,82,5,6,0,25,4,5,4,25,5,5,8,82,2,4,0,121,2,10,0,85,92,2,0,0,99,2,0,106,2,2,72,135,115,60,0,99,0,0,0,135,115,73,0,92,0,0,0,33,115,2,0,120,115,248,255,1,115,0,0,85,4,115,0,1,115,0,0,85,5,115,0,82,5,6,0,25,4,5,24,25,5,5,28,82,2,4,0,121,2,10,0,85,92,2,0,0,99,2,0,106,2,2,72,135,115,60,0,99,0,0,0,135,115,73,0,92,0,0,0,33,115,2,0,120,115,248,255,1,115,0,0,85,4,115,0,1,115,0,0,85,5,115,0,82,115,6,0,2,116,0,0,160,37,38,0,109,115,40,116,82,116,93,0,121,116,51,0,25,6,0,28,1,5,0,0,82,116,6,0,41,115,5,2,94,2,116,115,25,99,2,24,82,115,99,0,32,115,115,0,121,115,5,0,106,115,99,4,13,115,115,102,0,116,115,0,119,0,3,0,1,115,0,0,0,116,115,0,121,116,23,0,1,116,192,0,3,99,2,116,82,115,99,0,32,115,115,0,121,115,5,0,106,115,99,4,13,115,115,102,0,116,115,0,119,0,3,0,1,115,0,0,0,116,115,0,121,116,11,0,94,116,2,101,82,116,116,0,33,116,116,255,121,116,7,0,85,75,5,0,1,115,24,0,2,113,0,0,122,10,3,0,135,116,5,0,0,115,113,75,1,116,232,0,3,2,2,116,82,4,2,0,121,4,5,0,135,116,117,0,4,0,0,0,1,116,0,0,85,2,116,0,25,5,5,1,82,116,93,0,55,116,5,116,132,134,0,0,1,116,88,5,94,116,0,116,120,116,166,1,2,113,0,0,248,10,3,0,2,115,0,0,25,8,3,0,1,114,1,0,135,116,81,0,0,113,115,114,82,2,94,0,120,2,4,0,1,25,0,0,1,26,0,0,119,0,4,0,135,25,116,0,2,0,0,0,135,26,2,0,25,19,78,28,25,28,0,28,25,20,78,32,25,23,78,8,25,24,78,48,1,16,0,0,1,15,0,0,2,116,0,0,144,208,3,0,1,114,0,0,135,14,49,0,116,114,16,0,135,114,2,0,135,14,20,0,25,26,14,114,135,13,2,0,1,114,0,0,15,114,114,13,32,116,13,0,1,115,0,0,16,115,115,14,19,116,116,115,20,114,114,116,0,27,114,0,82,116,94,0,1,113,0,0,125,115,27,14,113,0,0,0,1,112,0,0,125,113,27,13,112,0,0,0,1,112,0,0,135,114,33,0,116,115,113,112,135,114,2,0,26,13,16,1,2,114,0,0,144,208,3,0,1,112,0,0,1,115,0,0,15,115,115,13,1,116,0,0,125,113,115,13,116,0,0,0,135,13,49,0,114,112,113,0,135,14,2,0,1,113,0,0,15,113,113,14,32,112,14,0,1,114,0,0,16,114,114,13,19,112,112,114,20,113,113,112,121,113,241,0,1,12,0,0,0,2,15,0,134,113,0,0,100,200,0,0,0,78,0,0,1,112,250,255,1,114,7,0,138,113,112,114,172,136,0,0,164,136,0,0,164,136,0,0,164,136,0,0,164,136,0,0,164,136,0,0,176,136,0,0,0,8,2,0,119,0,225,0,119,0,241,255,119,0,1,0,82,113,19,0,3,12,113,12,82,113,28,0,82,112,20,0,41,112,112,2,94,11,113,112,0,99,23,0,82,112,99,0,32,112,112,0,121,112,5,0,106,112,99,4,13,112,112,102,0,113,112,0,119,0,3,0,1,112,0,0,0,113,112,0,120,113,191,0,25,7,11,24,0,99,7,0,82,112,99,0,32,112,112,0,121,112,5,0,106,112,99,4,13,112,112,102,0,113,112,0,119,0,3,0,1,112,0,0,0,113,112,0,121,113,13,0,1,113,192,0,3,99,11,113,82,112,99,0,32,112,112,0,121,112,5,0,106,112,99,4,13,112,112,102,0,113,112,0,119,0,3,0,1,112,0,0,0,113,112,0,120,113,167,0,0,4,24,0,82,2,4,0,106,4,4,4,32,113,2,0,32,112,4,0,19,113,113,112,121,113,47,0,1,112,232,0,94,112,11,112,135,113,118,0,0,79,80,11,112,78,0,0,82,2,80,0,82,4,79,0,33,113,2,0,33,112,4,0,19,113,113,112,121,113,32,0,106,99,11,20,34,113,99,0,41,113,113,31,42,113,113,31,34,112,4,0,41,112,112,31,42,112,112,31,135,99,89,0,99,113,4,112,135,4,2,0,106,98,11,16,34,112,98,0,41,112,112,31,42,112,112,31,34,113,2,0,41,113,113,31,42,113,113,31,135,2,89,0,98,112,2,113,1,113,1,0,1,112,0,0,135,114,2,0,1,116,2,0,135,2,119,0,113,112,99,4,2,114,116,0,135,4,2,0,0,99,24,0,85,99,2,0,109,99,4,4,119,0,5,0,0,4,24,0,82,2,4,0,106,4,4,4,119,0,1,0,0,5,23,0,82,116,5,0,106,114,5,4,135,5,44,0,116,114,2,4,135,6,2,0,0,4,7,0,82,2,4,0,106,4,4,4,32,114,2,0,13,116,4,102,19,114,114,116,121,114,5,0,1,114,192,0,3,4,11,114,82,2,4,0,106,4,4,4,135,4,20,0,5,6,2,4,135,5,2,0,1,114,0,0,15,114,114,5,32,116,5,0,1,112,0,0,16,112,112,4,19,116,116,112,20,114,114,116,120,114,3,0,1,2,1,0,119,0,84,0,25,6,11,32,0,8,6,0,82,7,8,0,106,8,8,4,1,114,180,0,94,114,11,114,25,2,114,64,32,114,7,0,13,116,8,102,19,114,114,116,121,114,3,0,1,89,101,1,119,0,62,0,0,10,2,0,82,9,10,0,106,10,10,4,34,114,10,0,32,116,10,0,35,112,9,1,19,116,116,112,20,114,114,116,121,114,3,0,1,89,101,1,119,0,51,0,15,114,8,5,13,116,8,5,16,112,7,4,19,116,116,112,20,114,114,116,120,114,2,0,119,0,44,0,135,97,20,0,4,5,9,10,135,74,2,0,1,114,255,255,15,114,114,74,32,116,74,255,1,112,255,255,16,112,112,97,19,116,116,112,20,114,114,116,0,77,114,0,1,114,0,0,1,116,0,0,135,98,20,0,114,116,97,74,135,75,2,0,125,75,77,74,75,0,0,0,106,74,11,20,34,116,74,0,41,116,116,31,42,116,116,31,1,114,60,0,1,112,0,0,135,74,89,0,74,116,114,112,135,76,2,0,106,99,11,16,34,112,99,0,41,112,112,31,42,112,112,31,135,99,90,0,74,76,99,112,135,76,2,0,15,112,75,76,13,114,75,76,125,116,77,97,98,0,0,0,16,116,116,99,19,114,114,116,20,112,112,114,121,112,2,0,1,89,101,1,45,112,89,109,228,139,0,0,1,89,0,0,0,99,6,0,85,99,4,0,109,99,4,5,85,2,4,0,109,2,4,5,1,2,1,0,135,112,60,0,78,0,0,0,34,112,12,0,41,112,112,31,42,112,112,31,0,99,112,0,15,112,99,14,13,114,14,99,16,116,12,13,19,114,114,116,20,112,112,114,120,112,21,255,0,8,2,0,119,0,2,0,0,8,15,0,120,15,39,0,82,6,93,0,120,6,2,0,119,0,36,0,82,7,28,0,1,2,1,0,1,5,0,0,41,112,5,2,94,4,7,112,94,112,4,101,82,112,112,0,35,112,112,2,121,112,14,0,25,99,4,32,82,114,99,0,32,114,114,0,121,114,5,0,106,114,99,4,13,114,114,102,0,112,114,0,119,0,3,0,1,114,0,0,0,112,114,0,1,114,0,0,125,2,112,114,2,0,0,0,25,5,5,1,53,114,5,6,72,140,0,0,32,114,2,0,19,114,27,114,120,114,2,0,119,0,7,0,25,16,16,1,1,114,7,0,57,114,114,16,200,140,0,0,0,15,8,0,119,0,185,254,2,112,0,0,248,10,3,0,2,116,0,0,113,241,3,0,1,113,1,0,135,114,81,0,0,112,116,113,82,114,93,0,121,114,68,0,1,2,0,0,82,114,28,0,41,113,2,2,94,4,114,113,25,99,4,32,82,113,99,0,32,113,113,0,121,113,5,0,106,113,99,4,13,113,113,102,0,114,113,0,119,0,3,0,1,113,0,0,0,114,113,0,121,114,43,0,1,114,2,0,94,113,4,101,82,113,113,0,57,114,114,113,208,141,0,0,25,99,4,24,82,113,99,0,32,113,113,0,121,113,5,0,106,113,99,4,13,113,113,102,0,114,113,0,119,0,3,0,1,113,0,0,0,114,113,0,121,114,21,0,1,114,192,0,3,99,4,114,82,113,99,0,32,113,113,0,121,113,5,0,106,113,99,4,13,113,113,102,0,114,113,0,119,0,3,0,1,113,0,0,0,114,113,0,120,114,2,0,119,0,8,0,85,82,2,0,1,113,24,0,2,116,0,0,64,11,3,0,135,114,5,0,0,113,116,82,119,0,7,0,85,81,2,0,1,116,24,0,2,113,0,0,5,11,3,0,135,114,5,0,0,116,113,81,25,2,2,1,82,114,93,0,55,114,2,114,240,140,0,0,119,0,6,0,1,113,32,0,2,116,0,0,188,10,3,0,135,114,5,0,0,113,116,76,135,114,120,0,0,0,0,0,82,114,93,0,121,114,78,0,25,7,0,28,1,114,40,4,3,8,0,114,1,114,48,4,3,9,0,114,25,10,90,4,25,11,85,4,1,6,0,0,82,114,7,0,41,116,6,2,94,12,114,116,25,2,12,24,0,99,2,0,82,116,99,0,32,116,116,0,121,116,5,0,106,116,99,4,13,116,116,102,0,114,116,0,119,0,3,0,1,116,0,0,0,114,116,0,121,114,51,0,0,5,8,0,82,4,5,0,106,5,5,4,32,114,4,0,13,116,5,102,19,114,114,116,120,114,19,0,1,114,1,0,85,90,114,0,2,114,0,0,64,66,15,0,85,10,114,0,25,97,12,16,116,91,90,0,106,116,90,4,109,91,4,116,116,92,97,0,106,114,97,4,109,92,4,114,135,97,34,0,4,5,91,92,135,98,2,0,0,99,2,0,85,99,97,0,109,99,4,98,0,4,9,0,82,2,4,0,106,4,4,4,32,114,2,0,13,116,4,102,19,114,114,116,120,114,19,0,1,114,1,0,85,85,114,0,2,114,0,0,64,66,15,0,85,11,114,0,25,97,12,16,116,91,85,0,106,116,85,4,109,91,4,116,116,92,97,0,106,114,97,4,109,92,4,114,135,97,34,0,2,4,91,92,135,98,2,0,25,99,12,32,85,99,97,0,109,99,4,98,25,6,6,1,82,114,93,0,55,114,6,114,40,142,0,0,82,116,94,0,1,113,0,0,135,114,33,0,116,83,84,113,135,114,2,0,82,4,93,0,121,4,110,0,106,5,0,28,1,2,0,0,41,114,2,2,94,99,5,114,1,114,192,0,3,85,99,114,106,97,85,4,1,114,200,0,3,98,99,114,116,98,85,0,109,98,4,97,1,114,208,0,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,160,2,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,0,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,8,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,16,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,24,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,32,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,40,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,48,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,56,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,64,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,72,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,80,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,88,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,96,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,104,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,112,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,120,1,3,98,99,114,1,114,0,0,85,98,114,0,109,98,4,102,1,114,128,1,3,99,99,114,1,114,0,0,85,99,114,0,109,99,4,102,25,2,2,1,53,114,2,4,96,143,0,0,1,114,224,4,1,113,0,0,97,0,114,113,1,113,133,1,45,113,89,113,64,150,0,0,82,12,93,0,32,5,12,0,121,5,3,0,1,89,137,1,119,0,23,0,106,4,0,28,1,2,0,0,41,113,2,2,94,113,4,113,25,99,113,32,25,2,2,1,82,114,99,0,32,114,114,0,121,114,5,0,106,114,99,4,13,114,114,102,0,113,114,0,119,0,3,0,1,114,0,0,0,113,114,0,120,113,2,0,119,0,6,0,50,113,12,2,140,145,0,0,1,89,137,1,119,0,2,0,119,0,237,255,45,113,89,111,192,148,0,0,1,113,48,4,3,99,0,113,82,114,99,0,32,114,114,0,121,114,5,0,106,114,99,4,13,114,114,102,0,113,114,0,119,0,3,0,1,114,0,0,0,113,114,0,121,113,191,0,1,113,56,4,3,13,0,113,0,99,13,0,106,98,99,4,34,113,98,0,32,114,98,0,82,116,99,0,35,116,116,1,19,114,114,116,20,113,113,114,121,113,82,0,120,5,75,0,106,11,0,28,1,10,0,0,1,2,0,0,1,4,0,0,41,113,10,2,94,7,11,113,94,8,7,101,25,9,8,24,0,5,9,0,82,6,5,0,106,5,5,4,34,113,5,0,32,114,5,0,35,116,6,1,19,114,114,116,20,113,113,114,121,113,27,0,1,113,184,2,94,113,7,113,106,113,113,16,25,5,113,40,82,6,5,0,106,5,5,4,1,113,0,0,15,113,113,5,32,114,5,0,1,116,0,0,16,116,116,6,19,114,114,116,20,113,113,114,121,113,6,0,0,89,9,0,85,89,6,0,109,89,4,5,1,89,155,1,119,0,9,0,82,113,8,0,120,113,7,0,1,113,1,0,94,114,7,105,54,113,113,114,32,147,0,0,119,0,2,0,1,89,155,1,45,113,89,110,240,146,0,0,1,89,0,0,1,113,255,255,2,114,0,0,255,255,255,127,135,99,20,0,113,114,6,5,135,98,2,0,15,114,98,2,13,113,98,2,16,116,99,4,19,113,113,116,20,114,114,113,120,114,16,0,135,4,44,0,6,5,4,2,135,2,2,0,25,10,10,1,55,114,10,12,8,146,0,0,0,99,13,0,85,99,4,0,109,99,4,2,32,114,4,0,32,113,2,0,19,114,114,113,120,114,10,0,1,89,162,1,119,0,8,0,0,99,13,0,1,114,0,0,85,99,114,0,1,113,0,0,109,99,4,113,119,0,2,0,1,89,162,1,1,113,162,1,45,113,89,113,176,148,0,0,82,2,94,0,120,2,4,0,1,5,0,0,1,6,0,0,119,0,4,0,135,6,116,0,2,0,0,0,135,5,2,0,1,113,12,5,94,113,0,113,25,4,113,16,82,2,4,0,106,4,4,4,15,113,4,5,13,114,5,4,16,116,2,6,19,114,114,116,20,113,113,114,121,113,72,0,82,16,93,0,121,16,70,0,135,2,20,0,6,5,2,4,135,14,2,0,106,15,0,28,0,10,13,0,82,9,10,0,106,10,10,4,1,113,255,255,2,114,0,0,255,255,255,127,135,11,90,0,113,114,9,10,135,12,2,0,1,114,3,0,135,13,49,0,2,14,114,0,135,14,2,0,1,2,0,0,1,8,0,0,41,114,8,2,94,4,15,114,106,5,4,16,34,114,5,0,41,114,114,31,42,114,114,31,0,6,114,0,15,114,12,6,13,113,12,6,16,116,11,5,19,113,113,116,20,114,114,113,120,114,29,0,25,7,4,32,0,99,7,0,82,113,99,0,32,113,113,0,121,113,5,0,106,113,99,4,13,113,113,102,0,114,113,0,119,0,3,0,1,113,0,0,0,114,113,0,120,114,2,0,119,0,16,0,135,99,89,0,9,10,5,6,135,98,2,0,106,2,4,20,34,114,2,0,41,114,114,31,42,114,114,31,135,98,40,0,13,14,2,114,99,98,0,0,135,99,2,0,0,2,7,0,85,2,98,0,109,2,4,99,1,2,1,0,25,8,8,1,53,114,8,16,232,147,0,0,121,2,6,0,1,113,24,0,2,116,0,0,128,11,3,0,135,114,5,0,0,113,116,77,1,114,224,4,1,116,2,0,97,0,114,116,119,0,97,0,135,116,120,0,0,0,0,0,82,116,93,0,121,116,78,0,25,7,0,28,1,116,40,4,3,8,0,116,1,116,48,4,3,9,0,116,25,10,90,4,25,11,85,4,1,6,0,0,82,116,7,0,41,114,6,2,94,12,116,114,25,2,12,24,0,99,2,0,82,114,99,0,32,114,114,0,121,114,5,0,106,114,99,4,13,114,114,102,0,116,114,0,119,0,3,0,1,114,0,0,0,116,114,0,121,116,51,0,0,5,8,0,82,4,5,0,106,5,5,4,32,116,4,0,13,114,5,102,19,116,116,114,120,116,19,0,1,116,1,0,85,90,116,0,2,116,0,0,64,66,15,0,85,10,116,0,25,97,12,16,116,91,90,0,106,114,90,4,109,91,4,114,116,92,97,0,106,116,97,4,109,92,4,116,135,97,34,0,4,5,91,92,135,98,2,0,0,99,2,0,85,99,97,0,109,99,4,98,0,4,9,0,82,2,4,0,106,4,4,4,32,116,2,0,13,114,4,102,19,116,116,114,120,116,19,0,1,116,1,0,85,85,116,0,2,116,0,0,64,66,15,0,85,11,116,0,25,97,12,16,116,91,85,0,106,114,85,4,109,91,4,114,116,92,97,0,106,116,97,4,109,92,4,116,135,97,34,0,2,4,91,92,135,98,2,0,25,99,12,32,85,99,97,0,109,99,4,98,25,6,6,1,82,116,93,0,55,116,6,116,240,148,0,0,1,116,224,4,3,2,0,116,82,114,74,0,82,114,114,0,2,113,0,0,124,11,3,0,135,116,19,0,114,113,0,0,120,116,4,0,1,116,0,0,85,2,116,0,119,0,4,0,1,116,1,0,85,2,116,0,119,0,1,0,135,116,120,0,0,0,0,0,82,2,93,0,121,2,44,0,25,7,0,28,1,6,0,0,82,116,7,0,41,113,6,2,94,4,116,113,106,5,4,20,121,5,34,0,25,2,4,24,106,116,4,16,76,116,116,0,76,113,5,0,66,100,116,113,82,113,2,0,77,113,113,0,61,116,0,0,0,0,128,79,106,114,2,4,76,114,114,0,65,116,116,114,63,113,113,116,65,22,100,113,25,2,4,32,82,113,2,0,77,113,113,0,61,116,0,0,0,0,128,79,106,114,2,4,76,114,114,0,65,116,116,114,63,113,113,116,65,100,100,113,85,86,6,0,111,86,8,22,111,86,16,100,1,116,56,0,2,114,0,0,186,11,3,0,135,113,5,0,0,116,114,86,82,2,93,0,25,6,6,1,55,113,6,2,88,150,0,0,1,113,40,4,3,99,0,113,82,113,99,0,77,113,113,0,61,114,0,0,0,0,128,79,106,116,99,4,76,116,116,0,65,114,114,116,63,113,113,114,60,114,0,0,64,66,15,0,66,22,113,114,1,114,48,4,3,99,0,114,82,114,99,0,77,114,114,0,61,113,0,0,0,0,128,79,106,116,99,4,76,116,116,0,65,113,113,116,63,114,114,113,60,113,0,0,64,66,15,0,66,100,114,113,2,113,0,0,0,19,2,0,1,114,224,4,94,114,0,114,41,114,114,2,94,99,113,114,1,113,56,4,3,97,0,113,82,113,97,0,106,114,97,4,1,116,232,3,1,112,0,0,135,97,90,0,113,114,116,112,135,98,2,0,87,87,22,0,111,87,8,100,109,87,16,99,25,99,87,24,85,99,97,0,109,99,4,98,1,116,56,0,2,114,0,0,232,11,3,0,135,112,5,0,0,116,114,87,2,114,0,0,14,8,3,0,2,116,0,0,113,241,3,0,1,113,1,0,135,112,81,0,0,114,116,113,82,99,93,0,1,113,255,255,47,113,113,32,16,152,0,0,32,116,99,0,1,114,255,255,125,113,116,32,114,0,0,0,0,112,113,0,119,0,2,0,0,112,32,0,0,2,112,0,121,99,55,0,25,9,0,28,1,8,0,0,82,112,9,0,41,113,8,2,94,6,112,113,1,112,184,2,3,7,6,112,82,5,7,0,106,112,5,20,120,112,18,0,94,2,6,101,82,112,2,0,32,112,112,1,121,112,9,0,25,4,2,20,82,112,4,0,32,112,112,255,121,112,5,0,106,112,5,16,1,113,96,1,3,112,112,113,116,4,112,0,106,112,5,16,135,2,83,0,112,2,0,0,34,112,2,0,120,112,26,0,135,112,87,0,6,92,0,0,120,112,17,0,1,113,0,1,82,114,7,0,106,114,114,16,1,116,0,0,135,112,121,0,91,113,114,116,82,99,92,0,85,88,8,0,109,88,4,91,109,88,8,99,1,116,24,0,2,114,0,0,56,12,3,0,135,112,5,0,0,116,114,88,119,0,2,0,1,2,0,0,25,8,8,1,82,112,93,0,57,112,112,8,244,152,0,0,119,0,207,255,1,89,229,1,119,0,142,1,1,112,48,4,3,5,0,112,82,4,5,0,106,5,5,4,1,112,0,0,15,112,112,5,32,114,5,0,1,116,0,0,16,116,116,4,19,114,114,116,20,112,112,114,121,112,37,0,1,112,40,4,3,14,0,112,82,98,14,0,106,14,14,4,1,112,255,255,2,114,0,0,255,255,255,127,135,99,20,0,112,114,4,5,135,15,2,0,15,114,14,15,13,112,14,15,16,116,98,99,19,112,112,116,20,114,114,112,0,99,114,0,32,114,98,0,13,112,14,102,19,114,114,112,0,15,114,0,1,112,0,0,125,114,15,112,98,0,0,0,1,116,0,0,125,112,15,116,14,0,0,0,135,14,44,0,114,112,4,5,135,15,2,0,1,112,0,0,125,14,99,14,112,0,0,0,1,112,0,0,125,15,99,15,112,0,0,0,119,0,3,0,1,14,0,0,1,15,0,0,1,112,132,4,3,19,0,112,82,4,19,0,121,4,216,0,1,112,136,4,3,20,0,112,25,16,90,4,32,112,14,0,32,114,15,0,19,112,112,114,121,112,95,0,1,12,0,0,82,6,20,0,41,112,12,2,94,5,6,112,25,11,5,24,0,99,11,0,82,114,99,0,32,114,114,0,121,114,5,0,106,114,99,4,13,114,114,102,0,112,114,0,119,0,3,0,1,114,0,0,0,112,114,0,121,112,75,0,25,10,5,4,25,9,5,16,1,5,0,0,2,7,0,0,255,255,255,127,1,8,255,255,41,112,5,2,94,99,6,112,25,4,99,16,82,6,4,0,106,4,4,4,25,99,99,4,116,91,99,0,106,114,99,4,109,91,4,114,116,92,10,0,106,112,10,4,109,92,4,112,135,4,34,0,6,4,91,92,135,6,2,0,46,112,5,12,224,154,0,0,0,99,9,0,106,98,99,4,15,112,6,7,13,114,6,7,16,116,4,8,19,114,114,116,20,112,112,114,15,114,98,6,45,113,6,98,188,154,0,0,82,113,99,0,16,113,113,4,0,116,113,0,119,0,3,0,1,113,0,0,0,116,113,0,20,114,114,116,19,112,112,114,0,99,112,0,125,8,99,4,8,0,0,0,125,7,99,6,7,0,0,0,25,5,5,1,82,4,19,0,57,112,4,5,248,154,0,0,82,6,20,0,119,0,211,255,0,98,9,0,82,90,98,0,106,98,98,4,32,112,8,255,2,114,0,0,255,255,255,127,13,114,7,114,19,112,112,114,15,114,7,98,13,116,7,98,16,113,8,90,19,116,116,113,20,114,114,116,20,112,112,114,0,97,112,0,0,99,11,0,125,112,97,90,8,0,0,0,85,99,112,0,125,114,97,98,7,0,0,0,109,99,4,114,25,12,12,1,55,114,12,4,236,153,0,0,119,0,115,0,1,13,0,0,82,114,20,0,41,112,13,2,94,5,114,112,25,12,5,24,0,99,12,0,82,112,99,0,32,112,112,0,121,112,5,0,106,112,99,4,13,112,112,102,0,114,112,0,119,0,3,0,1,112,0,0,0,114,112,0,121,114,96,0,1,114,1,0,85,90,114,0,2,114,0,0,64,66,15,0,85,16,114,0,25,10,5,4,116,91,90,0,106,112,90,4,109,91,4,112,116,92,10,0,106,114,10,4,109,92,4,114,135,4,34,0,14,15,91,92,135,6,2,0,25,11,5,16,82,114,19,0,120,114,5,0,0,7,4,0,0,5,6,0,1,4,0,0,119,0,52,0,1,9,0,0,0,5,6,0,82,114,20,0,41,112,9,2,94,99,114,112,25,6,99,16,82,8,6,0,106,6,6,4,25,99,99,4,116,91,99,0,106,112,99,4,109,91,4,112,116,92,10,0,106,114,10,4,109,92,4,114,135,6,34,0,8,6,91,92,135,8,2,0,45,114,9,13,80,156,0,0,0,7,4,0,119,0,24,0,0,99,11,0,106,7,99,4,15,114,8,5,13,112,8,5,16,116,6,4,19,112,112,116,20,114,114,112,15,112,7,8,45,113,8,7,136,156,0,0,82,113,99,0,16,113,113,6,0,116,113,0,119,0,3,0,1,113,0,0,0,116,113,0,20,112,112,116,19,114,114,112,0,99,114,0,125,7,99,6,4,0,0,0,125,5,99,8,5,0,0,0,25,9,9,1,82,4,19,0,57,114,4,9,196,156,0,0,0,4,7,0,119,0,208,255,0,98,11,0,82,88,98,0,106,98,98,4,32,114,7,255,2,112,0,0,255,255,255,127,13,112,5,112,19,114,114,112,15,112,5,98,13,116,5,98,16,113,7,88,19,116,116,113,20,112,112,116,20,114,114,112,0,97,114,0,0,99,12,0,125,114,97,88,7,0,0,0,85,99,114,0,125,112,97,98,5,0,0,0,109,99,4,112,25,13,13,1,55,112,13,4,100,155,0,0,82,112,93,0,120,112,3,0,0,4,2,0,119,0,125,0,25,11,0,28,1,10,0,0,82,112,11,0,41,114,10,2,94,7,112,114,1,112,184,2,3,9,7,112,82,2,9,0,3,6,7,101,106,112,2,20,121,112,25,0,82,99,6,0,106,4,99,48,106,5,99,52,106,112,2,16,135,2,122,0,99,112,0,0,34,112,2,0,121,112,3,0,1,89,229,1,119,0,104,0,121,4,8,0,82,114,9,0,106,114,114,16,1,116,168,2,94,114,114,116,33,114,114,0,0,112,114,0,119,0,3,0,1,114,0,0,0,112,114,0,121,112,4,0,82,99,6,0,109,99,48,4,109,99,52,5,25,8,7,8,82,112,8,0,82,114,6,0,135,2,83,0,112,114,0,0,34,114,2,0,121,114,3,0,1,89,229,1,119,0,81,0,82,114,9,0,106,6,114,16,1,114,168,2,94,4,6,114,121,4,9,0,106,5,6,92,121,5,7,0,82,99,8,0,1,114,168,2,97,99,114,4,109,99,92,5,106,112,6,96,109,99,96,112,82,4,8,0,106,112,4,20,2,114,0,0,116,109,99,100,46,112,112,114,92,158,0,0,25,98,6,76,106,99,98,4,25,4,4,76,116,4,98,0,109,4,4,99,82,4,8,0,82,114,9,0,106,114,114,16,106,114,114,84,109,4,84,114,25,99,7,68,106,5,99,4,1,114,248,2,3,4,4,114,116,4,99,0,109,4,4,5,82,4,9,0,106,5,4,16,1,114,224,2,94,114,5,114,121,114,23,0,1,114,228,2,94,114,5,114,135,4,123,0,114,0,0,0,82,5,8,0,1,114,224,2,97,5,114,4,120,4,3,0,1,89,229,1,119,0,31,0,82,114,9,0,106,98,114,16,1,114,228,2,94,99,98,114,1,114,228,2,97,5,114,99,1,112,224,2,94,112,98,112,135,114,52,0,4,112,99,0,82,4,9,0,106,5,4,16,82,99,8,0,106,112,5,100,109,99,100,112,106,114,5,104,109,99,104,114,1,114,80,3,1,112,80,3,94,112,5,112,97,99,114,112,1,114,0,0,109,4,20,114,25,10,10,1,82,4,93,0,50,114,4,10,36,159,0,0,1,89,230,1,119,0,2,0,119,0,135,255,1,114,229,1,45,114,89,114,60,159,0,0,82,4,93,0,1,89,230,1,1,114,230,1,45,114,89,114,16,160,0,0,120,4,3,0,0,4,2,0,119,0,48,0,25,7,0,28,1,6,0,0,82,114,7,0,41,112,6,2,94,4,114,112,1,114,180,0,94,5,4,114,121,5,7,0,25,112,5,32,135,114,73,0,112,0,0,0,82,114,7,0,41,112,6,2,94,4,114,112,1,112,184,2,94,112,4,112,106,112,112,16,135,114,14,0,112,0,0,0,82,112,7,0,41,116,6,2,94,112,112,116,1,116,180,0,3,112,112,116,135,114,73,0,112,0,0,0,82,112,7,0,41,116,6,2,94,112,112,116,1,116,184,2,94,112,112,116,25,112,112,28,135,114,106,0,112,0,0,0,82,112,7,0,41,116,6,2,94,112,112,116,1,116,184,2,94,112,112,116,25,112,112,32,135,114,107,0,112,0,0,0,25,6,6,1],eb+30720);HEAPU8.set([82,114,93,0,55,114,6,114,92,159,0,0,0,4,2,0,82,2,94,0,120,2,3,0,137,96,0,0,139,4,0,0,1,114,0,0,1,112,0,0,1,116,1,0,135,92,33,0,2,114,112,116,135,93,2,0,82,99,94,0,25,97,99,104,82,94,97,0,106,97,97,4,106,99,99,112,0,98,95,0,85,98,92,0,109,98,4,93,25,98,95,8,85,98,94,0,109,98,4,97,109,95,16,99,109,95,20,3,1,112,48,0,2,114,0,0,192,12,3,0,135,116,5,0,0,112,114,95,137,96,0,0,139,4,0,0,140,2,89,0,0,0,0,0,2,75,0,0,240,0,0,0,2,76,0,0,250,0,0,0,2,77,0,0,220,0,0,0,2,78,0,0,203,0,0,0,2,79,0,0,255,0,0,0,2,80,0,0,144,0,0,0,2,81,0,0,0,1,0,0,2,82,0,0,156,0,0,0,1,50,0,0,136,83,0,0,0,74,83,0,136,83,0,0,3,83,83,81,137,83,0,0,1,83,224,0,3,73,74,83,1,83,216,0,3,72,74,83,1,83,208,0,3,71,74,83,1,83,192,0,3,68,74,83,1,83,176,0,3,67,74,83,1,83,168,0,3,60,74,83,1,83,160,0,3,59,74,83,1,83,152,0,3,58,74,83,3,63,74,80,1,83,136,0,3,62,74,83,1,83,128,0,3,57,74,83,25,56,74,120,25,55,74,112,25,54,74,104,25,53,74,96,25,52,74,88,25,17,74,72,25,15,74,64,25,16,74,56,25,14,74,48,25,13,74,40,25,12,74,32,25,10,74,24,25,8,74,16,25,7,74,8,0,5,74,0,3,69,74,75,1,83,236,0,3,65,74,83,1,83,232,0,3,70,74,83,1,83,228,0,3,66,74,83,1,83,0,0,85,66,83,0,1,83,200,0,3,4,0,83,0,2,4,0,82,3,2,0,106,2,2,4,32,83,3,255,2,84,0,0,255,255,255,127,13,84,2,84,19,83,83,84,120,83,88,0,1,83,192,0,3,6,0,83,0,64,6,0,82,84,64,0,32,84,84,255,121,84,7,0,106,84,64,4,2,85,0,0,255,255,255,127,13,84,84,85,0,83,84,0,119,0,3,0,1,84,0,0,0,83,84,0,120,83,36,0,0,2,4,0,1,83,255,255,85,2,83,0,2,84,0,0,255,255,255,127,109,2,4,84,1,83,0,0,1,85,24,0,2,86,0,0,3,70,2,0,135,84,5,0,83,85,86,5,0,2,4,0,82,3,2,0,106,2,2,4,32,84,3,255,2,86,0,0,255,255,255,127,13,86,2,86,19,84,84,86,120,84,52,0,0,64,6,0,82,86,64,0,32,86,86,255,121,86,7,0,106,86,64,4,2,85,0,0,255,255,255,127,13,86,86,85,0,84,86,0,119,0,3,0,1,86,0,0,0,84,86,0,120,84,2,0,119,0,38,0,25,5,0,8,82,4,5,0,106,5,5,4,32,84,4,0,2,86,0,0,0,0,0,128,13,86,5,86,19,84,84,86,0,64,84,0,1,84,0,0,125,4,64,84,4,0,0,0,1,84,0,0,125,5,64,84,5,0,0,0,15,84,5,2,13,86,2,5,16,85,4,3,19,86,86,85,20,84,84,86,121,84,8,0,135,49,20,0,3,2,4,5,135,51,2,0,0,64,6,0,85,64,49,0,109,64,4,51,119,0,10,0,1,86,0,0,1,85,16,0,2,83,0,0,50,70,2,0,135,84,5,0,86,85,83,7,1,83,1,0,135,84,13,0,83,0,0,0,25,3,0,28,82,2,3,0,120,2,3,0,1,9,0,0,119,0,16,0,135,2,124,0,2,0,0,0,120,2,12,0,116,8,3,0,1,83,0,0,1,85,8,0,2,86,0,0,213,86,2,0,135,84,5,0,83,85,86,8,1,86,1,0,135,84,13,0,86,0,0,0,119,0,2,0,0,9,2,0,2,86,0,0,202,255,3,0,135,84,19,0,1,86,0,0,32,64,84,0,2,84,0,0,137,19,3,0,125,64,64,84,1,0,0,0,2,86,0,0,137,19,3,0,1,85,5,0,135,84,125,0,64,86,85,0,120,84,3,0,1,2,0,0,119,0,6,0,2,85,0,0,241,86,2,0,135,84,19,0,64,85,0,0,33,2,84,0,2,84,0,0,20,8,2,0,2,85,0,0,20,8,2,0,82,85,85,0,38,86,2,1,19,85,85,86,85,84,85,0,135,8,126,0,85,70,8,0,120,8,7,0,1,84,208,255,135,85,46,0,64,84,0,0,1,84,1,0,135,85,13,0,84,0,0,0,106,2,0,52,121,2,17,0,106,85,0,48,26,84,2,1,41,84,84,4,3,85,85,84,106,51,85,8,82,84,0,0,25,84,84,20,2,86,0,0,16,185,2,0,34,83,51,0,41,83,83,31,42,83,83,31,1,87,0,0,135,85,127,0,84,86,51,83,87,0,0,0,25,2,0,44,33,4,9,0,82,85,2,0,33,85,85,0,19,85,4,85,121,85,30,0,25,3,9,20,82,85,3,0,121,85,27,0,2,87,0,0,39,185,2,0,1,83,0,0,1,86,0,0,1,84,2,0,135,85,128,0,3,87,83,86,84,0,0,0,121,85,18,0,106,85,0,40,82,84,2,0,26,84,84,1,41,84,84,4,3,85,85,84,106,51,85,8,82,84,0,0,25,84,84,20,2,86,0,0,39,185,2,0,34,83,51,0,41,83,83,31,42,83,83,31,1,87,0,0,135,85,127,0,84,86,51,83,87,0,0,0,25,51,0,60,82,85,51,0,33,85,85,0,19,85,4,85,121,85,26,0,25,2,9,20,82,85,2,0,121,85,23,0,2,87,0,0,152,254,2,0,1,83,0,0,1,86,0,0,1,84,2,0,135,85,128,0,2,87,83,86,84,0,0,0,121,85,14,0,82,84,0,0,25,84,84,20,2,86,0,0,152,254,2,0,106,83,0,56,82,87,51,0,26,87,87,1,41,87,87,4,3,83,83,87,106,83,83,8,1,87,0,0,135,85,4,0,84,86,83,87,106,2,0,68,121,2,13,0,82,87,0,0,25,87,87,20,2,83,0,0,252,180,3,0,106,86,0,64,26,84,2,1,41,84,84,4,3,86,86,84,106,86,86,8,1,84,0,0,135,85,4,0,87,83,86,84,106,2,0,76,121,2,13,0,82,84,0,0,25,84,84,20,2,86,0,0,222,180,3,0,106,83,0,72,26,87,2,1,41,87,87,4,3,83,83,87,106,83,83,8,1,87,0,0,135,85,4,0,84,86,83,87,25,49,0,36,82,1,49,0,1,85,0,0,15,7,85,1,121,7,191,0,106,4,0,32,1,2,0,0,1,3,0,0,41,87,3,4,94,87,4,87,2,83,0,0,141,103,2,0,135,85,19,0,87,83,0,0,120,85,4,0,41,85,3,4,3,85,4,85,106,2,85,8,25,3,3,1,54,85,3,1,236,165,0,0,121,7,57,0,106,5,0,32,1,3,0,0,1,4,0,0,41,83,4,4,94,83,5,83,2,87,0,0,231,203,2,0,135,85,19,0,83,87,0,0,120,85,4,0,41,85,4,4,3,85,5,85,106,3,85,8,25,4,4,1,53,85,4,1,48,166,0,0,121,7,37,0,106,6,0,32,1,4,0,0,1,5,0,0,41,87,5,4,94,87,6,87,2,83,0,0,255,202,3,0,135,85,19,0,87,83,0,0,120,85,4,0,41,85,5,4,3,85,6,85,106,4,85,8,25,5,5,1,53,85,5,1,116,166,0,0,121,7,18,0,106,7,0,32,1,6,0,0,1,5,0,0,41,83,6,4,94,83,7,83,2,87,0,0,252,86,2,0,135,85,19,0,83,87,0,0,120,85,4,0,41,85,6,4,3,85,7,85,106,5,85,8,25,6,6,1,53,85,6,1,184,166,0,0,119,0,9,0,1,5,0,0,119,0,7,0,1,4,0,0,1,5,0,0,119,0,4,0,1,3,0,0,1,4,0,0,1,5,0,0,120,2,3,0,1,2,0,0,119,0,8,0,1,85,20,5,1,83,0,0,1,86,0,0,135,87,129,0,2,83,86,0,97,8,85,87,1,2,1,0,120,3,3,0,1,3,0,0,119,0,8,0,1,87,24,5,1,86,1,0,1,83,0,0,135,85,129,0,3,86,83,0,97,8,87,85,1,3,1,0,120,4,3,0,1,4,0,0,119,0,8,0,1,85,28,5,1,83,3,0,1,86,0,0,135,87,129,0,4,83,86,0,97,8,85,87,1,4,1,0,120,5,8,0,121,2,4,0,1,2,0,0,1,50,59,0,119,0,16,0,1,2,0,0,1,50,60,0,119,0,13,0,1,87,32,5,1,86,2,0,1,83,0,0,135,85,129,0,5,86,83,0,97,8,87,85,121,2,4,0,1,2,1,0,1,50,59,0,119,0,3,0,1,2,1,0,1,50,60,0,32,85,50,59,121,85,11,0,1,85,112,4,1,87,20,5,94,87,8,87,106,87,87,12,97,8,85,87,121,3,3,0,1,50,61,0,119,0,12,0,1,50,62,0,119,0,10,0,32,87,50,60,121,87,8,0,1,87,112,4,1,85,0,0,97,8,87,85,121,3,3,0,1,50,61,0,119,0,2,0,1,50,62,0,32,85,50,61,121,85,11,0,1,85,116,4,1,87,24,5,94,87,8,87,106,87,87,12,97,8,85,87,121,4,3,0,1,50,63,0,119,0,12,0,1,50,64,0,119,0,10,0,32,87,50,62,121,87,8,0,1,87,116,4,1,85,0,0,97,8,87,85,121,4,3,0,1,50,63,0,119,0,2,0,1,50,64,0,32,85,50,63,121,85,9,0,1,85,120,4,1,87,28,5,94,87,8,87,106,87,87,12,97,8,85,87,120,2,11,0,1,2,0,0,119,0,23,0,32,87,50,64,121,87,7,0,1,87,120,4,1,85,0,0,97,8,87,85,120,2,3,0,1,2,0,0,119,0,15,0,1,85,32,5,94,85,8,85,106,2,85,12,119,0,11,0,1,85,112,4,1,87,0,0,97,8,85,87,1,87,116,4,1,85,0,0,97,8,87,85,1,85,120,4,1,87,0,0,97,8,85,87,1,2,0,0,1,87,60,5,97,8,87,2,1,87,72,4,3,2,8,87,82,3,2,0,39,87,3,4,85,2,87,0,1,87,228,0,3,48,0,87,82,87,48,0,121,87,4,0,1,87,4,4,20,87,3,87,85,2,87,0,2,45,0,0,116,8,2,0,106,46,45,4,1,87,160,4,3,47,8,87,116,47,45,0,109,47,4,46,82,85,0,0,106,85,85,20,2,83,0,0,254,86,2,0,1,86,0,0,1,84,1,0,135,87,6,0,85,83,86,84,120,87,12,0,82,84,0,0,25,84,84,20,2,86,0,0,254,86,2,0,2,83,0,0,25,8,3,0,1,85,16,0,135,87,4,0,84,86,83,85,1,3,1,0,119,0,2,0,1,3,0,0,82,87,0,0,25,87,87,20,134,2,0,0,232,16,1,0,70,64,9,87,34,87,2,0,121,87,20,0,135,87,46,0,64,2,0,0,2,87,0,0,8,175,173,176,46,87,2,87,232,169,0,0,1,85,1,0,135,87,13,0,85,0,0,0,85,10,64,0,1,85,0,0,1,83,16,0,2,86,0,0,12,87,2,0,135,87,5,0,85,83,86,10,1,86,1,0,135,87,13,0,86,0,0,0,121,3,9,0,82,86,0,0,25,86,86,20,2,83,0,0,254,86,2,0,1,85,0,0,1,84,1,0,135,87,4,0,86,83,85,84,82,2,0,0,25,84,2,20,106,85,2,16,135,87,130,0,84,85,0,0,82,85,0,0,106,85,85,20,135,87,131,0,85,0,0,0,82,2,70,0,106,87,2,24,120,87,3,0,0,11,2,0,119,0,68,0,25,1,0,32,1,7,0,0,106,87,2,28,41,85,7,2,94,6,87,85,1,87,0,0,82,85,49,0,47,87,87,85,40,171,0,0,1,3,0,0,1,5,0,0,82,87,1,0,41,85,5,4,94,87,87,85,135,4,132,0,2,6,87,0,1,87,0,0,47,87,87,4,204,170,0,0,82,87,1,0,41,85,5,4,3,87,87,85,106,4,87,8,119,0,4,0,34,87,4,0,120,87,39,0,0,4,3,0,25,5,5,1,82,87,49,0,56,87,87,5,240,170,0,0,0,3,4,0,119,0,235,255,1,87,176,0,3,3,6,87,82,2,3,0,120,4,3,0,1,50,88,0,119,0,12,0,82,85,2,0,1,84,0,0,135,87,129,0,4,85,84,0,106,47,87,12,82,87,3,0,109,87,4,47,119,0,4,0,1,87,176,0,94,2,6,87,1,50,88,0,32,87,50,88,121,87,5,0,1,50,0,0,106,84,2,4,135,87,84,0,84,0,0,0,25,7,7,1,82,2,70,0,106,87,2,24,50,87,87,7,104,171,0,0,0,11,2,0,119,0,5,0,119,0,195,255,1,84,1,0,135,87,13,0,84,0,0,0,2,87,0,0,32,8,2,0,82,87,87,0,121,87,42,0,82,87,0,0,106,87,87,16,135,4,133,0,11,87,0,0,85,69,4,0,82,47,70,0,106,3,47,24,134,4,0,0,16,93,0,0,47,4,0,0,1,87,0,0,47,87,87,3,224,171,0,0,1,2,0,0,82,84,69,0,41,85,2,2,3,84,84,85,135,87,79,0,84,0,0,0,25,2,2,1,53,87,2,3,192,171,0,0,135,87,73,0,69,0,0,0,34,87,4,0,121,87,16,0,85,12,64,0,1,84,0,0,1,85,8,0,2,83,0,0,35,87,2,0,135,87,5,0,84,85,83,12,82,87,70,0,106,87,87,24,120,87,6,0,135,87,134,0,70,0,0,0,1,83,1,0,135,87,13,0,83,0,0,0,25,47,0,8,0,46,47,0,25,2,0,16,0,5,2,0,82,4,5,0,106,5,5,4,32,87,4,0,2,83,0,0,0,0,0,128,13,83,5,83,19,87,87,83,0,3,87,0,82,83,46,0,32,83,83,0,121,83,7,0,106,83,46,4,2,85,0,0,0,0,0,128,13,83,83,85,0,87,83,0,119,0,3,0,1,83,0,0,0,87,83,0,121,87,71,0,121,3,3,0,1,50,108,0,119,0,85,0,1,87,255,255,15,87,87,5,32,83,5,255,1,85,255,255,16,85,85,4,19,83,83,85,20,87,87,83,121,87,10,0,1,83,0,0,1,85,16,0,2,84,0,0,122,87,2,0,135,87,5,0,83,85,84,14,1,84,1,0,135,87,13,0,84,0,0,0,82,87,70,0,1,84,48,4,3,3,87,84,82,2,3,0,106,3,3,4,1,84,0,0,15,84,84,3,32,87,3,0,1,85,0,0,16,85,85,2,19,87,87,85,20,84,84,87,120,84,10,0,85,15,64,0,1,87,0,0,1,85,24,0,2,83,0,0,219,87,2,0,135,84,5,0,87,85,83,15,1,50,108,0,119,0,46,0,135,2,44,0,2,3,4,5,135,3,2,0,0,46,47,0,85,46,2,0,109,46,4,3,1,84,0,0,49,84,84,3,96,173,0,0,0,4,3,0,119,0,35,0,85,16,64,0,1,83,0,0,1,85,24,0,2,87,0,0,163,87,2,0,135,84,5,0,83,85,87,16,0,2,47,0,1,84,0,0,85,2,84,0,2,87,0,0,0,0,0,128,109,2,4,87,1,2,0,0,2,4,0,0,0,0,0,128,119,0,18,0,121,3,3,0,1,50,108,0,119,0,15,0,85,13,64,0,1,84,0,0,1,85,24,0,2,83,0,0,72,87,2,0,135,87,5,0,84,85,83,13,0,50,2,0,1,87,0,0,85,50,87,0,2,83,0,0,0,0,0,128,109,50,4,83,1,50,108,0,32,83,50,108,121,83,4,0,0,4,47,0,82,2,4,0,106,4,4,4,32,83,2,0,2,87,0,0,0,0,0,128,13,87,4,87,19,83,83,87,0,5,83,0,1,83,0,0,125,3,5,83,2,0,0,0,1,83,0,0,125,2,5,83,4,0,0,0,106,83,0,24,120,83,22,0,82,83,70,0,1,87,40,4,3,46,83,87,82,44,46,0,106,46,46,4,32,87,44,0,2,83,0,0,0,0,0,128,13,83,46,83,19,87,87,83,0,45,87,0,1,83,0,0,125,87,45,83,44,0,0,0,1,85,0,0,125,83,45,85,46,0,0,0,135,3,44,0,87,83,3,2,135,46,2,0,119,0,2,0,0,46,2,0,120,5,68,0,82,6,70,0,106,83,6,4,106,83,83,8,2,87,0,0,0,0,0,4,19,83,83,87,120,83,30,0,106,4,6,24,121,4,25,0,106,5,6,28,1,2,0,0,41,83,2,2,94,83,5,83,1,87,176,0,94,83,83,87,106,83,83,88,121,83,3,0,1,4,0,0,119,0,7,0,25,2,2,1,50,83,4,2,240,174,0,0,1,4,1,0,119,0,2,0,119,0,243,255,2,83,0,0,126,2,254,255,1,87,255,255,135,5,44,0,3,46,83,87,135,2,2,0,120,4,2,0,119,0,6,0,0,5,3,0,0,2,46,0,119,0,3,0,0,5,3,0,0,2,46,0,1,87,0,0,1,85,255,255,1,84,0,0,2,86,0,0,0,0,0,128,1,88,0,0,135,83,43,0,6,85,84,86,5,2,5,2,88,0,0,0,56,87,87,83,156,175,0,0,85,17,64,0,77,83,3,0,61,88,0,0,0,0,128,79,76,86,46,0,65,88,88,86,63,83,83,88,60,88,0,0,64,66,15,0,66,83,83,88,111,17,8,83,1,87,0,0,1,88,24,0,2,86,0,0,8,88,2,0,135,83,5,0,87,88,86,17,82,11,70,0,25,12,11,24,82,83,12,0,120,83,3,0,0,61,11,0,119,0,165,4,25,13,11,28,25,14,0,108,25,15,0,104,1,83,148,0,3,16,0,83,3,17,0,80,1,83,28,1,3,18,0,83,1,83,24,1,3,19,0,83,25,20,0,32,1,83,164,1,3,21,0,83,1,83,160,1,3,22,0,83,1,83,228,1,3,23,0,83,1,83,224,1,3,24,0,83,1,83,232,0,3,25,0,83,1,83,236,0,3,26,0,83,3,27,0,75,1,83,244,0,3,28,0,83,1,83,212,1,3,29,0,83,1,83,208,1,3,30,0,83,1,83,172,1,3,31,0,83,1,83,168,1,3,32,0,83,1,83,180,1,3,33,0,83,25,34,0,56,1,83,176,1,3,35,0,83,1,83,108,1,3,36,0,83,1,83,104,1,3,37,0,83,25,38,0,124,25,39,0,120,1,83,132,0,3,40,0,83,1,83,128,0,3,41,0,83,1,83,140,0,3,42,0,83,1,83,136,0,3,43,0,83,1,10,0,0,82,83,13,0,41,86,10,2,94,44,83,86,1,83,176,0,3,7,44,83,82,45,7,0,1,83,96,1,135,9,92,0,83,0,0,0,135,83,135,0,85,65,83,0,2,83,0,0,237,170,3,0,1,86,0,0,1,88,0,0,1,87,0,0,135,1,128,0,65,83,86,88,87,0,0,0,120,9,3,0,1,50,124,0,119,0,252,2,2,87,0,0,72,224,9,0,82,87,87,0,1,88,4,0,2,86,0,0,76,224,9,0,2,83,0,0,76,224,9,0,82,83,83,0,25,83,83,1,135,8,136,0,87,88,86,83,2,83,0,0,72,224,9,0,85,83,8,0,2,83,0,0,76,224,9,0,82,83,83,0,26,83,83,1,41,83,83,2,97,8,83,9,25,8,9,4,85,8,44,0,2,83,0,0,84,224,9,0,82,83,83,0,85,9,83,0,1,86,1,0,109,9,8,86,1,83,48,0,109,44,52,83,25,4,9,120,1,83,0,0,85,4,83,0,1,86,0,0,109,4,4,86,25,4,9,96,1,86,255,255,85,4,86,0,2,83,0,0,255,255,255,127,109,4,4,83,25,4,9,104,1,83,0,0,85,4,83,0,2,86,0,0,0,0,0,128,109,4,4,86,1,86,128,0,3,4,9,86,59,86,1,0,87,4,86,0,1,86,0,0,82,83,14,0,47,86,86,83,32,178,0,0,1,2,0,0,82,86,15,0,41,83,2,4,94,86,86,83,135,5,132,0,11,44,86,0,1,86,0,0,47,86,86,5,0,178,0,0,82,86,15,0,41,83,2,4,3,86,86,83,110,86,86,8,87,4,86,0,119,0,5,0,34,86,5,0,121,86,3,0,1,50,130,0,119,0,177,2,25,2,2,1,82,86,14,0,54,86,2,86,200,177,0,0,1,86,160,0,3,4,9,86,1,86,1,0,85,4,86,0,1,86,0,0,82,83,16,0,47,86,86,83,156,178,0,0,1,2,0,0,82,86,17,0,41,83,2,4,94,86,86,83,135,5,132,0,11,44,86,0,1,86,0,0,47,86,86,5,124,178,0,0,82,86,17,0,41,83,2,4,3,86,86,83,25,86,86,8,116,4,86,0,119,0,5,0,34,86,5,0,121,86,3,0,1,50,137,0,119,0,146,2,25,2,2,1,82,86,16,0,54,86,2,86,68,178,0,0,1,86,0,0,82,83,18,0,47,86,86,83,100,179,0,0,1,2,0,0,1,6,0,0,1,5,0,0,82,86,19,0,41,83,6,4,94,86,86,83,135,4,132,0,11,44,86,0,1,86,0,0,47,86,86,4,240,178,0,0,82,86,19,0,41,83,6,4,3,86,86,83,106,5,86,8,0,2,5,0,119,0,5,0,34,86,4,0,121,86,3,0,1,50,144,0,119,0,117,2,25,6,6,1,82,86,18,0,54,86,6,86,184,178,0,0,120,2,2,0,119,0,20,0,1,86,0,0,135,2,137,0,2,69,86,0,82,86,69,0,78,86,86,0,121,86,12,0,79,86,5,0,103,83,5,1,41,83,83,8,20,86,86,83,103,83,5,2,41,83,83,16,20,86,86,83,103,83,5,3,41,83,83,24,20,86,86,83,0,2,86,0,82,86,7,0,109,86,8,2,1,86,0,0,82,83,49,0,47,86,86,83,12,180,0,0,1,2,0,0,1,5,0,0,82,86,20,0,41,83,5,4,94,86,86,83,135,4,132,0,11,44,86,0,1,86,0,0,47,86,86,4,176,179,0,0,82,86,20,0,41,83,5,4,3,86,86,83,106,4,86,8,119,0,6,0,34,86,4,0,121,86,3,0,1,50,156,0,119,0,69,2,0,4,2,0,25,5,5,1,82,86,49,0,56,86,86,5,220,179,0,0,0,2,4,0,119,0,233,255,82,2,7,0,120,4,3,0,1,50,160,0,119,0,11,0,82,86,2,0,1,83,0,0,135,2,129,0,4,86,83,0,82,83,7,0,106,86,2,12,109,83,4,86,119,0,3,0,82,2,7,0,1,50,160,0,1,86,160,0,45,86,50,86,44,180,0,0,106,86,2,4,135,2,84,0,86,0,0,0,25,6,9,24,85,6,2,0,1,86,140,0,82,88,0,0,106,88,88,16,82,87,8,0,1,84,176,0,94,87,87,84,106,87,87,4,135,83,138,0,88,87,11,44,2,0,0,0,97,9,86,83,1,83,252,0,3,4,9,83,1,83,255,255,85,4,83,0,1,83,0,0,82,86,21,0,47,83,83,86,220,180,0,0,1,2,0,0,82,83,22,0,41,86,2,4,94,83,83,86,135,5,132,0,11,44,83,0,1,83,0,0,47,83,83,5,188,180,0,0,82,83,22,0,41,86,2,4,3,83,83,86,25,83,83,8,116,4,83,0,119,0,5,0,34,83,5,0,121,83,3,0,1,50,166,0,119,0,2,2,25,2,2,1,82,83,21,0,54,83,2,83,132,180,0,0,1,83,0,0,82,86,23,0,47,83,83,86,76,181,0,0,1,2,0,0,1,5,0,0,82,83,24,0,41,86,5,4,94,83,83,86,135,4,132,0,11,44,83,0,1,83,0,0,47,83,83,4,40,181,0,0,82,83,24,0,41,86,5,4,3,83,83,86,106,2,83,8,119,0,5,0,34,83,4,0,121,83,3,0,1,50,173,0,119,0,231,1,25,5,5,1,82,83,23,0,54,83,5,83,244,180,0,0,119,0,2,0,1,2,0,0,25,4,9,12,1,83,240,255,85,4,83,0,82,83,25,0,120,83,3,0,1,50,177,0,119,0,9,0,82,83,8,0,1,86,176,0,94,83,83,86,82,83,83,0,120,83,3,0,1,50,183,0,119,0,2,0,1,50,177,0,1,83,177,0,45,83,50,83,20,182,0,0,1,50,0,0,82,83,26,0,121,83,9,0,82,83,8,0,1,86,176,0,94,83,83,86,82,83,83,0,32,83,83,1,121,83,3,0,1,50,183,0,119,0,21,0,82,83,27,0,121,83,9,0,82,83,8,0,1,86,176,0,94,83,83,86,82,83,83,0,32,83,83,3,121,83,3,0,1,50,183,0,119,0,11,0,82,83,28,0,120,83,2,0,119,0,8,0,82,83,8,0,1,86,176,0,94,83,83,86,82,83,83,0,32,83,83,2,121,83,2,0,1,50,183,0,1,83,183,0,45,83,50,83,44,182,0,0,1,50,0,0,1,83,48,0,85,4,83,0,121,2,7,0,135,83,139,0,65,1,2,4,34,83,83,0,121,83,3,0,1,50,186,0,119,0,163,1,25,2,9,88,1,83,0,0,85,2,83,0,2,86,0,0,0,0,0,128,109,2,4,86,82,86,6,0,135,2,140,0,86,0,0,0,25,7,9,20,85,7,2,0,120,2,3,0,1,50,188,0,119,0,149,1,135,86,83,0,2,45,0,0,34,86,86,0,121,86,3,0,1,50,190,0,119,0,143,1,82,86,48,0,121,86,8,0,82,86,7,0,25,8,86,60,82,86,8,0,2,83,0,0,0,0,128,0,20,86,86,83,85,8,86,0,82,86,45,0,1,87,255,255,1,88,6,0,138,86,87,88,236,182,0,0,240,182,0,0,232,186,0,0,112,187,0,0,144,188,0,0,148,188,0,0,1,50,28,1,119,0,122,1,119,0,107,1,82,83,6,0,120,83,5,0,106,87,45,4,135,83,84,0,87,0,0,0,85,6,83,0,106,4,44,8,1,83,168,2,94,5,4,83,82,2,7,0,121,5,11,0,1,83,168,2,97,2,83,5,106,87,4,92,109,2,92,87,106,83,4,96,109,2,96,83,106,87,4,100,109,2,100,87,106,83,4,104,109,2,104,83,25,6,44,68,106,1,6,4,1,83,248,2,3,8,2,83,116,8,6,0,109,8,4,1,1,83,0,0,82,87,51,0,47,83,83,87,236,183,0,0,1,2,0,0,1,5,0,0,82,83,34,0,41,87,5,4,94,83,83,87,135,4,132,0,11,44,83,0,1,83,0,0,47,83,83,4,168,183,0,0,82,83,34,0,41,87,5,4,3,83,83,87,106,2,83,8,119,0,5,0,34,83,4,0,121,83,3,0,1,50,203,0,119,0,71,1,25,5,5,1,82,83,51,0,54,83,5,83,116,183,0,0,120,2,2,0,119,0,8,0,3,87,9,80,135,83,141,0,87,2,0,0,34,83,83,0,121,83,3,0,1,50,207,0,119,0,58,1,1,83,152,0,3,4,9,83,1,83,255,255,85,4,83,0,1,83,0,0,82,87,36,0,47,83,83,87,104,184,0,0,1,2,0,0,82,83,37,0,41,87,2,4,94,83,83,87,135,5,132,0,11,44,83,0,1,83,0,0,47,83,83,5,72,184,0,0,82,83,37,0,41,87,2,4,3,83,83,87,25,83,83,8,116,4,83,0,119,0,5,0,34,83,5,0,121,83,3,0,1,50,213,0,119,0,31,1,25,2,2,1,82,83,36,0,54,83,2,83,16,184,0,0,1,83,0,0,82,87,38,0,47,83,83,87,124,185,0,0,1,2,0,0,1,5,0,0,82,83,39,0,41,87,5,4,94,83,83,87,135,4,132,0,11,44,83,0,1,83,0,0,47,83,83,4,180,184,0,0,82,83,39,0,41,87,5,4,3,83,83,87,106,2,83,8,119,0,5,0,34,83,4,0,121,83,3,0,1,50,220,0,119,0,4,1,25,5,5,1,82,83,38,0,54,83,5,83,128,184,0,0,120,2,2,0,119,0,41,0,2,87,0,0,182,88,2,0,135,83,19,0,2,87,0,0,32,5,83,0,2,83,0,0,28,14,4,0,125,5,5,83,2,0,0,0,2,87,0,0,174,252,3,0,135,83,19,0,5,87,0,0,120,83,4,0,1,87,0,0,97,9,81,87,119,0,24,0,3,2,9,81,2,83,0,0,62,252,3,0,135,87,19,0,5,83,0,0,120,87,4,0,1,87,1,0,85,2,87,0,119,0,15,0,82,87,2,0,120,87,13,0,135,4,142,0,5,0,0,0,120,4,5,0,82,87,2,0,120,87,8,0,1,50,231,0,119,0,219,0,1,87,2,0,85,2,87,0,1,87,4,1,97,9,87,4,119,0,1,0,1,87,0,0,82,83,40,0,47,87,87,83,12,186,0,0,1,2,0,0,1,5,0,0,82,87,41,0,41,83,5,4,94,87,87,83,135,4,132,0,11,44,87,0,1,87,0,0,47,87,87,4,200,185,0,0,82,87,41,0,41,83,5,4,3,87,87,83,106,2,87,8,119,0,5,0,34,87,4,0,121,87,3,0,1,50,240,0,119,0,191,0,25,5,5,1,82,87,40,0,54,87,5,87,148,185,0,0,120,2,2,0,119,0,8,0,135,8,143,0,2,0,0,0,1,87,8,1,97,9,87,8,120,8,3,0,1,50,244,0,119,0,178,0,1,87,0,0,82,83,42,0,47,87,87,83,188,186,0,0,1,2,0,0,1,5,0,0,82,87,43,0,41,83,5,4,94,87,87,83,135,4,132,0,11,44,87,0,1,87,0,0,47,87,87,4,88,186,0,0,82,87,43,0,41,83,5,4,3,87,87,83,106,2,87,8,119,0,5,0,34,87,4,0,121,87,3,0,1,50,250,0,119,0,155,0,25,5,5,1,82,87,42,0,54,87,5,87,36,186,0,0,120,2,3,0,1,50,255,0,119,0,16,0,135,44,144,0,2,0,0,0,1,87,12,1,97,9,87,44,33,87,44,255,120,87,10,0,85,58,2,0,1,83,0,0,1,88,8,0,2,84,0,0,236,88,2,0,135,87,5,0,83,88,84,58,119,0,2,0,1,50,255,0,45,87,50,79,216,186,0,0,1,50,0,0,1,87,12,1,1,84,255,255,97,9,87,84,1,84,32,1,1,87,255,255,97,9,84,87,119,0,109,0,3,4,9,82,2,87,0,0,255,255,255,127,85,4,87,0,1,87,0,0,82,84,29,0,47,87,87,84,100,187,0,0,1,2,0,0,82,87,30,0,41,84,2,4,94,87,87,84,135,5,132,0,11,44,87,0,1,87,0,0,47,87,87,5,68,187,0,0,82,87,30,0,41,84,2,4,3,87,87,84,25,87,87,8,116,4,87,0,119,0,5,0,34,87,5,0,121,87,3,0,1,50,6,1,119,0,96,0,25,2,2,1,82,87,29,0,54,87,2,87,12,187,0,0,135,87,145,0,9,0,0,0,119,0,75,0,82,87,6,0,120,87,5,0,106,84,45,4,135,87,84,0,84,0,0,0,85,6,87,0,1,87,0,0,82,84,31,0,47,87,87,84,252,187,0,0,1,87,164,0,3,4,9,87,1,2,0,0,82,87,32,0,41,84,2,4,94,87,87,84,135,5,132,0,11,44,87,0,1,87,0,0,47,87,87,5,220,187,0,0,82,87,32,0,41,84,2,4,3,87,87,84,25,87,87,8,116,4,87,0,119,0,5,0,34,87,5,0,121,87,3,0,1,50,16,1,119,0,58,0,25,2,2,1,82,87,31,0,54,87,2,87,164,187,0,0,82,87,33,0,36,87,87,0,120,87,37,0,1,5,0,0,1,2,0,0,82,87,35,0,41,84,5,4,94,87,87,84,135,4,132,0,11,44,87,0,1,87,0,0,47,87,87,4,68,188,0,0,82,87,35,0,41,84,5,4,3,87,87,84,106,2,87,8,119,0,5,0,34,87,4,0,121,87,3,0,1,50,23,1,119,0,32,0,25,5,5,1,82,87,33,0,54,87,5,87,16,188,0,0,120,2,2,0,119,0,12,0,82,44,7,0,25,84,44,92,25,88,44,96,135,87,146,0,84,88,2,0,34,87,87,0,121,87,5,0,1,50,27,1,119,0,17,0,119,0,184,255,119,0,1,0,82,87,7,0,135,86,122,0,45,87,0,0,34,86,86,0,121,86,3,0,1,50,30,1,119,0,8,0,25,10,10,1,82,86,12,0,50,86,86,10,204,188,0,0,1,50,32,1,119,0,2,0,119,0,240,252,1,86,124,0,1,84,165,0,138,50,86,84,116,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,132,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,148,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,164,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,180,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,196,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,212,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,228,191,0,0,112,191,0,0,16,192,0,0,112,191,0,0,56,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,96,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,156,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,172,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,188,192,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,128,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,144,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,160,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,176,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,192,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,112,191,0,0,208,193,0,0,112,191,0,0,112,191,0,0,112,191,0,0,224,193,0,0,12,194,0,0,112,191,0,0,20,194,0,0,112,191,0,0,60,194,0,0,119,0,181,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,177,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,173,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,169,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,165,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,161,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,157,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,153,0,85,52,2,0,1,87,0,0,1,88,16,0,2,84,0,0,46,88,2,0,135,86,5,0,87,88,84,52,1,84,1,0,135,86,13,0,84,0,0,0,119,0,142,0,1,84,0,0,1,88,16,0,2,87,0,0,73,88,2,0,135,86,5,0,84,88,87,53,1,87,1,0,135,86,13,0,87,0,0,0,119,0,132,0,1,87,0,0,1,88,16,0,2,84,0,0,112,88,2,0,135,86,5,0,87,88,84,54,1,84,1,0,135,86,13,0,84,0,0,0,119,0,122,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,118,0,85,55,2,0,1,84,0,0,1,88,16,0,2,87,0,0,153,88,2,0,135,86,5,0,84,88,87,55,1,87,1,0,135,86,13,0,87,0,0,0,119,0,107,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,103,0,1,87,1,0,135,86,13,0,87,0,0,0,119,0,99,0,85,56,5,0,1,87,0,0,1,88,8,0,2,84,0,0,188,88,2,0,135,86,5,0,87,88,84,56,1,84,0,0,1,88,8,0,2,87,0,0,215,88,2,0,135,86,5,0,84,88,87,57,1,86,0,0,135,2,147,0,86,0,0,0,120,2,10,0,1,87,0,0,1,88,8,0,2,84,0,0,232,0,4,0,135,86,5,0,87,88,84,63,1,84,1,0,135,86,13,0,84,0,0,0,135,86,148,0,2,0,0,0,85,62,86,0,1,84,0,0,1,88,8,0,2,87,0,0,160,214,2,0,135,86,5,0,84,88,87,62,135,2,147,0,2,0,0,0,33,86,2,0,120,86,244,255,1,87,0,0,1,88,8,0,2,84,0,0,232,0,4,0,135,86,5,0,87,88,84,63,1,84,1,0,135,86,13,0,84,0,0,0,119,0,50,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,46,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,42,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,38,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,34,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,30,0,1,84,1,0,135,86,13,0,84,0,0,0,119,0,26,0,85,59,2,0,1,84,0,0,1,88,8,0,2,87,0,0,19,89,2,0,135,86,5,0,84,88,87,59,1,87,1,0,135,86,13,0,87,0,0,0,119,0,15,0,135,86,62,0,119,0,13,0,1,87,0,0,1,88,16,0,2,84,0,0,112,88,2,0,135,86,5,0,87,88,84,60,1,84,1,0,135,86,13,0,84,0,0,0,119,0,3,0,82,61,70,0,119,0,1,0,2,84,0,0,84,224,9,0,82,84,84,0,1,88,0,0,135,86,149,0,61,84,64,88,2,86,0,0,80,224,9,0,2,84,0,0,80,224,9,0,82,84,84,0,1,87,4,0,2,83,0,0,84,224,9,0,2,85,0,0,84,224,9,0,82,85,85,0,25,85,85,1,135,88,136,0,84,87,83,85,85,86,88,0,1,88,104,0,135,6,92,0,88,0,0,0,120,6,4,0,1,86,1,0,135,88,13,0,86,0,0,0,2,88,0,0,80,224,9,0,82,88,88,0,2,86,0,0,84,224,9,0,82,86,86,0,26,86,86,1,41,86,86,2,97,88,86,6,82,2,70,0,85,6,2,0,106,7,2,24,25,1,6,12,2,86,0,0,76,224,9,0,82,86,86,0,4,86,86,7,85,1,86,0,0,5,47,0,106,4,5,4,25,63,6,64,116,63,5,0,109,63,4,4,1,86,192,0,3,63,0,86,106,4,63,4,25,5,6,80,116,5,63,0,109,5,4,4,25,5,0,80,82,4,5,0,106,5,5,4,25,63,6,40,85,63,4,0,109,63,4,5,2,86,0,0,196,223,9,0,82,86,86,0,120,86,3,0,0,2,46,0,119,0,24,0,2,86,0,0,200,223,9,0,82,86,86,0,120,86,4,0,1,3,0,0,1,2,0,0,119,0,17,0,1,86,40,4,3,2,2,86,82,3,2,0,106,2,2,4,32,86,3,0,2,88,0,0,0,0,0,128,13,88,2,88,19,86,86,88,0,63,86,0,1,86,0,0,125,3,63,86,3,0,0,0,1,86,0,0,125,2,63,86,2,0,0,0,135,63,20,0,4,5,3,2,135,3,2,0,25,2,6,48,85,2,63,0,109,2,4,3,109,6,88,7,106,88,0,92,109,6,96,88,106,86,0,96,109,6,100,86,106,88,0,88,109,6,16,88,25,2,6,24,1,88,0,0,85,2,88,0,1,86,0,0,109,2,4,86,1,88,1,0,109,6,32,88,1,86,1,0,109,6,36,86,82,86,0,0,106,86,86,16,135,2,150,0,86,0,0,0,85,66,2,0,82,3,1,0,2,86,0,0,76,224,9,0,82,86,86,0,47,86,3,86,216,196,0,0,2,86,0,0,72,224,9,0,82,86,86,0,41,88,3,2,94,86,86,88,1,88,140,0,94,86,86,88,2,88,0,0,191,227,9,0,1,85,0,0,1,83,2,0,135,2,6,0,86,88,85,83,121,2,20,0,82,85,2,0,1,88,0,0,1,86,0,0,135,83,4,0,66,85,88,86,2,83,0,0,72,224,9,0,82,83,83,0,41,86,3,2,94,83,83,86,1,86,140,0,94,83,83,86,2,86,0,0,191,227,9,0,1,88,2,0,135,2,6,0,83,86,2,88,33,88,2,0,120,88,238,255,25,3,3,1,2,88,0,0,76,224,9,0,82,88,88,0,54,88,3,88,56,196,0,0,82,2,66,0,2,88,0,0,191,227,9,0,1,86,0,0,1,83,2,0,135,2,6,0,2,88,86,83,121,2,69,0,135,83,135,0,85,69,83,0,82,83,2,0,1,86,0,0,1,88,0,0,1,85,3,0,135,3,128,0,69,83,86,88,85,0,0,0,135,85,151,0,85,65,85,0,32,85,3,0,82,86,2,0,1,83,0,0,1,87,0,0,1,84,3,0,135,88,128,0,65,86,83,87,84,0,0,0,33,88,88,0,20,85,85,88,120,85,26,0,82,4,2,0,106,6,3,4,32,85,6,0,2,88,0,0,191,227,9,0,125,6,85,88,6,0,0,0,2,88,0,0,84,224,9,0,82,88,88,0,26,5,88,1,106,88,3,40,38,88,88,2,120,88,2,0,119,0,19,0,85,68,4,0,109,68,4,6,109,68,8,5,109,68,12,64,1,85,0,0,1,84,24,0,2,87,0,0,129,89,2,0,135,88,5,0,85,84,87,68,82,88,66,0,2,87,0,0,191,227,9,0,1,84,2,0,135,2,6,0,88,87,2,84,120,2,203,255,119,0,14,0,85,67,4,0,109,67,4,6,109,67,8,5,109,67,12,64,1,87,0,0,1,88,16,0,2,85,0,0,45,89,2,0,135,84,5,0,87,88,85,67,1,85,1,0,135,84,13,0,85,0,0,0,135,84,79,0,66,0,0,0,25,8,0,116,82,2,8,0,36,84,2,0,121,84,8,0,2,84,0,0,16,224,9,0,1,85,1,0,85,84,85,0,137,74,0,0,1,85,0,0,139,85,0,0,25,1,0,112,1,7,0,0,82,3,70,0,106,85,3,24,121,85,83,0,1,6,0,0,106,85,3,28,41,84,6,2,94,5,85,84,82,84,1,0,41,88,7,4,94,84,84,88,135,85,132,0,3,5,84,0,32,85,85,1,121,85,66,0,82,85,1,0,41,84,7,4,3,85,85,84,106,2,85,8,1,85,0,0,85,69,85,0,1,85,176,0,3,4,5,85,82,85,4,0,106,85,85,16,120,85,15,0,82,0,5,0,2,85,0,0,84,224,9,0,82,85,85,0,26,85,85,1,85,71,85,0,109,71,4,0,1,84,0,0,1,88,24,0,2,87,0,0,144,90,2,0,135,85,5,0,84,88,87,71,119,0,41,0,78,85,2,0,120,85,14,0,106,85,5,64,2,87,0,0,85,40,2,0,1,88,0,0,1,84,0,0,135,3,6,0,85,87,88,84,121,3,2,0,106,2,3,4,78,84,2,0,120,84,3,0,1,50,64,1,119,0,38,0,135,84,152,0,2,0,0,0,1,88,2,0,2,87,0,0,116,8,2,0,1,85,0,0,135,84,153,0,69,2,88,87,85,0,0,0,34,84,84,0,121,84,3,0,1,50,66,1,119,0,25,0,82,0,4,0,82,85,69,0,106,87,0,12,106,88,0,16,135,84,154,0,85,87,88,0,82,88,69,0,135,84,155,0,88,0,0,0,82,88,69,0,135,84,156,0,88,0,0,0,25,6,6,1,82,3,70,0,106,84,3,24,55,84,6,84,80,198,0,0,82,2,8,0,25,7,7,1,49,84,2,7,168,199,0,0,1,50,72,1,119,0,2,0,119,0,167,255,1,84,64,1,45,84,50,84,252,199,0,0,82,74,5,0,2,84,0,0,84,224,9,0,82,84,84,0,26,84,84,1,85,72,84,0,109,72,4,74,1,88,0,0,1,87,8,0,2,85,0,0,184,90,2,0,135,84,5,0,88,87,85,72,1,85,1,0,135,84,13,0,85,0,0,0,119,0,25,0,1,84,66,1],eb+40960);HEAPU8.set([45,84,50,84,52,200,0,0,85,73,2,0,1,85,0,0,1,87,8,0,2,88,0,0,246,90,2,0,135,84,5,0,85,87,88,73,1,88,1,0,135,84,13,0,88,0,0,0,119,0,11,0,1,84,72,1,45,84,50,84,92,200,0,0,2,84,0,0,16,224,9,0,1,88,1,0,85,84,88,0,137,74,0,0,1,88,0,0,139,88,0,0,1,88,0,0,139,88,0,0,140,2,64,0,0,0,0,0,2,54,0,0,248,1,0,0,2,55,0,0,240,1,0,0,2,56,0,0,0,0,0,128,2,57,0,0,184,0,0,0,2,58,0,0,176,0,0,0,2,59,0,0,200,0,0,0,1,23,0,0,136,60,0,0,0,53,60,0,136,60,0,0,25,60,60,80,137,60,0,0,25,50,53,72,25,27,53,64,25,46,53,40,25,48,53,32,25,47,53,16,0,49,53,0,25,38,53,56,1,61,0,0,109,1,24,61,25,51,1,28,1,61,0,0,85,51,61,0,135,61,63,0,1,0,0,0,1,61,12,5,3,52,0,61,25,42,0,28,25,43,0,4,1,61,72,4,3,44,0,61,25,45,0,24,25,28,1,32,25,29,1,36,25,30,1,16,25,31,1,8,1,61,240,4,3,32,0,61,1,61,104,4,3,33,0,61,1,61,216,4,3,34,0,61,1,61,112,4,3,35,0,61,1,61,116,4,3,36,0,61,1,61,120,4,3,37,0,61,1,61,60,5,3,39,0,61,1,61,108,4,3,40,0,61,25,41,38,4,82,2,52,0,106,4,2,24,33,24,4,0,121,24,17,0,82,61,42,0,106,60,4,32,41,60,60,2,94,3,61,60,106,61,2,40,34,61,61,1,121,61,4,0,1,60,0,0,135,61,157,0,0,3,60,0,1,61,184,1,94,61,3,61,34,61,61,1,121,61,3,0,1,23,6,0,119,0,55,3,82,61,43,0,106,61,61,48,38,61,61,63,135,2,158,0,61,0,1,0,34,61,2,0,121,61,48,0,135,61,60,0,1,0,0,0,2,61,0,0,174,186,187,176,46,61,2,61,128,202,0,0,32,61,4,0,32,60,2,250,20,61,61,60,121,61,3,0,1,23,140,0,119,0,36,3,82,61,45,0,121,61,216,255,1,2,0,0,82,61,42,0,41,60,2,2,94,3,61,60,1,61,184,1,3,4,3,61,1,61,220,0,94,61,3,61,120,61,7,0,1,61,0,0,82,60,4,0,47,61,61,60,56,202,0,0,1,23,19,0,119,0,2,0,1,23,19,0,32,61,23,19,121,61,11,0,1,23,0,0,1,60,0,0,135,61,157,0,0,3,60,0,1,61,1,0,82,60,4,0,49,61,61,60,112,202,0,0,1,23,20,0,119,0,6,3,25,2,2,1,82,61,45,0,55,61,2,61,4,202,0,0,119,0,183,255,135,3,93,0,1,0,0,0,34,61,3,0,121,61,3,0,1,23,22,0,119,0,251,2,82,61,44,0,1,60,0,1,19,61,61,60,121,61,13,0,82,61,29,0,38,61,61,2,121,61,10,0,116,48,28,0,1,60,24,0,2,62,0,0,207,0,3,0,135,61,5,0,0,60,62,48,135,61,60,0,1,0,0,0,119,0,161,255,82,16,28,0,82,12,45,0,50,61,12,16,244,202,0,0,1,23,28,0,119,0,229,2,82,18,42,0,41,61,16,2,94,25,18,61,0,3,30,0,82,22,3,0,106,3,3,4,32,61,22,0,13,62,3,56,19,61,61,62,121,61,5,0,0,5,31,0,82,4,5,0,106,5,5,4,119,0,3,0,0,4,22,0,0,5,3,0,3,21,25,55,0,20,21,0,82,62,20,0,32,62,62,0,121,62,5,0,106,62,20,4,13,62,62,56,0,61,62,0,119,0,3,0,1,62,0,0,0,61,62,0,121,61,11,2,94,6,25,57,32,61,4,0,13,62,5,56,19,61,61,62,1,62,62,0,15,62,62,6,20,61,61,62,120,61,3,2,82,61,32,0,121,61,1,2,1,61,1,0,1,62,0,0,135,19,49,0,61,62,6,0,135,20,2,0,1,62,255,255,1,61,255,255,135,17,44,0,19,20,62,61,19,61,17,4,0,17,61,0,135,61,2,0,19,61,61,5,0,13,61,0,106,14,25,20,106,11,25,16,1,61,60,0,1,62,0,0,34,60,14,0,41,60,60,31,42,60,60,31,34,63,11,0,41,63,63,31,42,63,63,31,135,11,40,0,61,62,14,60,11,63,0,0,135,14,2,0,135,15,20,0,17,13,11,14,135,10,2,0,1,63,1,0,1,60,0,0,26,62,6,3,135,9,49,0,63,60,62,0,135,62,2,0,135,9,20,0,19,20,9,62,135,8,2,0,135,14,20,0,19,20,11,14,135,11,2,0,15,62,13,8,13,60,13,8,16,63,17,9,19,60,60,63,20,62,62,60,15,60,13,11,13,63,13,11,16,61,17,14,19,63,63,61,20,60,60,63,20,62,62,60,1,60,1,0,1,63,255,255,125,14,62,60,63,0,0,0,82,17,33,0,32,11,17,0,121,11,3,0,1,23,43,0,119,0,177,0,82,13,40,0,1,5,0,0,41,63,5,2,94,4,13,63,121,4,12,0,106,7,4,16,121,7,10,0,106,8,4,12,1,6,0,0,41,63,6,2,94,63,8,63,52,63,63,16,224,204,0,0,25,6,6,1,55,63,6,7,172,204,0,0,25,5,5,1,50,63,17,5,220,204,0,0,1,23,42,0,119,0,2,0,119,0,237,255,32,63,23,42,121,63,8,0,120,12,5,0,1,4,255,255,1,7,1,0,1,23,50,0,119,0,148,0,1,23,43,0,119,0,146,0,0,5,4,0,25,7,5,56,82,6,7,0,106,7,7,4,32,63,6,0,13,60,7,56,19,63,63,60,120,63,3,0,1,23,69,0,119,0,38,0,1,9,0,0,41,63,9,2,94,8,13,63,45,63,8,5,72,205,0,0,1,5,0,0,119,0,18,0,120,5,17,0,106,6,8,16,120,6,3,0,1,5,0,0,119,0,13,0,106,7,8,12,1,5,0,0,41,63,5,2,94,63,7,63,52,63,63,16,168,205,0,0,25,5,5,1,50,63,6,5,136,205,0,0,1,5,0,0,119,0,2,0,119,0,247,255,25,9,9,1,50,63,17,9,164,205,0,0,0,11,14,0,0,6,15,0,119,0,8,0,119,0,227,255,120,8,4,0,0,11,14,0,0,6,15,0,119,0,3,0,0,5,8,0,119,0,211,255,32,63,23,69,121,63,4,0,1,23,0,0,106,11,5,64,0,10,7,0,25,7,4,56,0,15,7,0,82,60,15,0,45,60,60,6,248,205,0,0,106,60,15,4,13,60,60,10,0,63,60,0,119,0,3,0,1,60,0,0,0,63,60,0,121,63,31,0,1,9,0,0,41,63,9,2,94,8,13,63,45,63,8,4,32,206,0,0,1,4,0,0,119,0,20,0,120,4,19,0,106,5,8,16,120,5,3,0,1,4,0,0,119,0,15,0,106,7,8,12,1,4,0,0,41,63,4,2,94,63,7,63,45,63,63,16,84,206,0,0,0,4,8,0,119,0,60,0,25,4,4,1,50,63,5,4,104,206,0,0,1,4,0,0,119,0,2,0,119,0,245,255,25,9,9,1,57,63,17,9,72,207,0,0,119,0,228,255,106,8,4,16,121,8,14,0,106,9,4,12,1,5,0,0,41,63,5,2,94,63,9,63,41,63,63,2,94,15,18,63,3,14,15,55,85,14,6,0,109,14,4,10,97,15,54,11,25,5,5,1,53,63,5,8,140,206,0,0,0,9,7,0,85,9,6,0,109,9,4,10,109,4,64,11,1,9,0,0,41,63,9,2,94,8,13,63,45,63,8,4,228,206,0,0,1,4,0,0,119,0,20,0,120,4,19,0,106,5,8,16,120,5,3,0,1,4,0,0,119,0,15,0,106,7,8,12,1,4,0,0,41,63,4,2,94,63,7,63,45,63,63,16,24,207,0,0,0,4,8,0,119,0,11,0,25,4,4,1,50,63,5,4,44,207,0,0,1,4,0,0,119,0,2,0,119,0,245,255,25,9,9,1,57,63,17,9,72,207,0,0,119,0,228,255,33,63,4,0,120,63,164,255,32,63,23,43,121,63,72,0,2,8,0,0,0,0,0,128,1,4,0,0,1,9,0,0,41,63,9,2,94,7,18,63,94,6,7,58,82,63,6,0,1,60,0,0,1,62,2,0,138,63,60,62,140,207,0,0,220,207,0,0,1,5,0,0,119,0,28,0,106,60,7,48,1,62,0,4,19,60,60,62,32,60,60,0,1,62,0,0,1,61,112,254,125,5,60,62,61,0,0,0,106,61,6,48,121,61,9,0,106,62,6,52,32,62,62,0,121,62,3,0,0,61,5,0,119,0,3,0,25,62,5,50,0,61,62,0,0,5,61,0,25,5,5,25,119,0,8,0,106,61,6,108,32,61,61,0,1,62,0,0,1,60,50,0,125,5,61,62,60,0,0,0,119,0,1,0,1,60,224,0,94,60,7,60,32,60,60,0,121,60,3,0,0,63,5,0,119,0,3,0,25,60,5,12,0,63,60,0,0,5,63,0,106,60,7,52,32,60,60,48,121,60,3,0,0,63,5,0,119,0,3,0,3,60,5,59,0,63,60,0,0,5,63,0,15,6,8,5,125,4,6,9,4,0,0,0,25,9,9,1,45,63,9,12,96,208,0,0,1,7,0,0,1,23,50,0,119,0,4,0,125,8,6,5,8,0,0,0,119,0,190,255,32,63,23,50,121,63,66,0,1,23,0,0,41,63,4,2,94,4,18,63,3,6,4,55,82,5,6,0,106,6,6,4,32,63,5,0,13,60,6,56,19,63,63,60,120,63,7,0,0,18,21,0,85,18,5,0,109,18,4,6,94,60,4,54,97,25,54,60,119,0,50,0,120,7,49,0,121,11,12,0,1,4,0,0,41,60,4,2,94,17,18,60,3,16,17,55,85,16,15,0,109,16,4,10,97,17,54,14,25,4,4,1,52,60,4,12,120,209,0,0,119,0,247,255,82,8,40,0,1,7,0,0,1,6,0,0,41,60,6,2,94,4,8,60,121,4,13,0,106,9,4,16,120,9,2,0,119,0,10,0,106,5,4,12,1,4,0,0,41,60,4,2,94,60,5,60,52,60,60,7,72,209,0,0,25,4,4,1,55,60,4,9,20,209,0,0,25,6,6,1,50,60,17,6,68,209,0,0,1,23,63,0,119,0,2,0,119,0,236,255,32,60,23,63,121,60,8,0,1,23,0,0,41,60,7,2,94,16,18,60,3,13,16,55,85,13,15,0,109,13,4,10,97,16,54,14,25,7,7,1,53,60,7,12,240,208,0,0,94,60,25,54,32,60,60,255,121,60,131,0,1,60,192,0,3,4,25,60,0,6,4,0,82,5,6,0,106,6,6,4,2,60,0,0,0,0,254,127,15,60,6,60,2,63,0,0,0,0,254,127,13,63,6,63,35,62,5,0,19,63,63,62,20,60,60,63,121,60,30,0,0,16,21,0,82,17,16,0,106,16,16,4,15,60,6,16,13,63,16,6,16,62,5,17,19,63,63,62,20,60,60,63,32,63,5,0,13,62,6,56,19,63,63,62,32,62,17,0,13,61,16,56,19,62,62,61,20,63,63,62,20,60,60,63,0,16,60,0,1,63,0,0,125,60,16,63,19,0,0,0,1,62,0,0,125,63,16,62,20,0,0,0,135,16,20,0,5,6,60,63,135,17,2,0,0,18,4,0,85,18,16,0,109,18,4,17,25,4,25,24,0,6,4,0,82,5,6,0,106,6,6,4,2,63,0,0,0,0,254,127,15,63,6,63,2,60,0,0,0,0,254,127,13,60,6,60,35,62,5,0,19,60,60,62,20,63,63,60,121,63,30,0,0,16,21,0,82,17,16,0,106,16,16,4,15,63,6,16,13,60,16,6,16,62,5,17,19,60,60,62,20,63,63,60,32,60,5,0,13,62,6,56,19,60,60,62,32,62,17,0,13,61,16,56,19,62,62,61,20,60,60,62,20,63,63,60,0,16,63,0,1,60,0,0,125,63,16,60,19,0,0,0,1,62,0,0,125,60,16,62,20,0,0,0,135,16,20,0,5,6,63,60,135,17,2,0,0,18,4,0,85,18,16,0,109,18,4,17,3,4,25,59,0,6,4,0,82,5,6,0,106,6,6,4,2,60,0,0,0,0,254,127,15,60,6,60,2,63,0,0,0,0,254,127,13,63,6,63,35,62,5,0,19,63,63,62,20,60,60,63,121,60,30,0,0,18,21,0,82,17,18,0,106,18,18,4,15,60,6,18,13,63,18,6,16,62,5,17,19,63,63,62,20,60,60,63,32,63,5,0,13,62,6,56,19,63,63,62,32,62,17,0,13,61,18,56,19,62,62,61,20,63,63,62,20,60,60,63,0,18,60,0,1,63,0,0,125,60,18,63,19,0,0,0,1,62,0,0,125,63,18,62,20,0,0,0,135,18,20,0,5,6,60,63,135,19,2,0,0,20,4,0,85,20,18,0,109,20,4,19,94,8,25,54,120,8,5,0,0,3,31,0,82,4,3,0,106,3,3,4,119,0,90,0,0,6,21,0,82,5,6,0,106,6,6,4,33,63,5,0,14,60,6,56,20,63,63,60,0,7,63,0,33,63,22,0,14,60,3,56,20,63,63,60,19,63,63,7,121,63,35,0,15,63,3,6,13,60,6,3,16,62,22,5,19,60,60,62,20,63,63,60,0,4,63,0,32,63,8,1,19,63,63,4,121,63,11,0,1,63,1,0,1,60,0,0,94,62,25,57,135,4,49,0,63,60,62,0,135,62,2,0,135,4,44,0,4,62,22,3,135,3,2,0,119,0,17,0,33,62,8,255,20,62,62,4,121,62,3,0,0,4,22,0,119,0,12,0,1,62,1,0,1,60,0,0,94,63,25,57,135,4,49,0,62,60,63,0,135,63,2,0,135,4,20,0,22,3,4,63,135,3,2,0,119,0,2,0,0,4,22,0,0,22,30,0,85,22,4,0,109,22,4,3,0,3,31,0,82,4,3,0,106,3,3,4,33,63,4,0,14,60,3,56,20,63,63,60,19,63,63,7,121,63,32,0,15,63,3,6,13,60,6,3,16,62,4,5,19,60,60,62,20,63,63,60,0,5,63,0,32,63,8,1,19,63,63,5,121,63,11,0,1,63,1,0,1,60,0,0,94,62,25,57,135,22,49,0,63,60,62,0,135,62,2,0,135,4,44,0,22,62,4,3,135,3,2,0,119,0,13,0,33,62,8,255,20,62,62,5,120,62,10,0,1,62,1,0,1,60,0,0,94,63,25,57,135,22,49,0,62,60,63,0,135,63,2,0,135,4,20,0,4,3,22,63,135,3,2,0,0,22,31,0,85,22,4,0,109,22,4,3,94,4,25,58,82,63,4,0,1,60,0,0,1,62,4,0,138,63,60,62,60,213,0,0,76,213,0,0,92,213,0,0,108,213,0,0,119,0,17,0,82,3,35,0,121,3,15,0,109,4,4,3,119,0,13,0,82,3,36,0,121,3,11,0,109,4,4,3,119,0,9,0,82,3,39,0,121,3,7,0,109,4,4,3,119,0,5,0,82,3,37,0,121,3,3,0,109,4,4,3,119,0,1,0,82,63,34,0,121,63,24,0,135,21,159,0,135,20,2,0,1,63,1,0,85,38,63,0,2,63,0,0,64,66,15,0,85,41,63,0,25,22,25,16,116,27,38,0,106,60,38,4,109,27,4,60,116,50,22,0,106,63,22,4,109,50,4,63,135,20,34,0,21,20,27,50,135,21,2,0,0,22,31,0,85,22,20,0,109,22,4,21,0,22,30,0,85,22,20,0,109,22,4,21,120,24,7,0,1,63,184,1,94,63,25,63,34,63,63,1,121,63,3,0,1,23,140,0,119,0,35,0,82,3,52,0,25,2,3,24,25,3,3,28,1,63,80,0,135,4,92,0,63,0,0,0,120,4,3,0,1,26,208,255,119,0,26,0,135,5,93,0,1,0,0,0,34,63,5,0,121,63,3,0,1,23,134,0,119,0,20,0,135,63,94,0,4,1,0,0,82,63,2,0,120,63,3,0,85,2,4,0,119,0,3,0,82,63,3,0,109,63,72,4,85,3,4,0,82,22,52,0,106,24,22,28,25,22,22,40,82,63,22,0,106,60,24,28,4,63,63,60,85,22,63,0,135,63,157,0,0,25,24,0,119,0,183,252,32,63,23,6,121,63,48,0,82,6,52,0,25,5,6,24,25,6,6,28,82,7,5,0,120,7,16,0,2,63,0,0,172,0,3,0,85,49,63,0,2,60,0,0,180,254,2,0,109,49,4,60,1,63,26,6,109,49,8,63,1,60,0,0,1,62,0,0,2,61,0,0,41,21,4,0,135,63,5,0,60,62,61,49,135,63,62,0,85,50,7,0,0,2,1,0,0,3,7,0,25,4,2,72,116,2,3,0,25,2,2,4,25,3,3,4,54,63,2,4,236,214,0,0,25,49,7,72,116,5,49,0,82,63,49,0,120,63,3,0,1,63,0,0,85,6,63,0,135,63,73,0,50,0,0,0,82,63,52,0,25,52,63,40,82,63,52,0,82,61,51,0,3,63,63,61,85,52,63,0,1,52,0,0,137,53,0,0,139,52,0,0,119,0,57,0,32,63,23,20,121,63,17,0,2,63,0,0,184,0,3,0,85,47,63,0,2,61,0,0,180,254,2,0,109,47,4,61,1,63,107,3,109,47,8,63,1,61,0,0,1,62,0,0,2,60,0,0,41,21,4,0,135,63,5,0,61,62,60,47,135,63,62,0,119,0,39,0,32,63,23,22,121,63,7,0,135,63,60,0,1,0,0,0,0,52,3,0,137,53,0,0,139,52,0,0,119,0,31,0,32,63,23,28,121,63,17,0,2,63,0,0,247,0,3,0,85,46,63,0,2,60,0,0,180,254,2,0,109,46,4,60,1,63,128,3,109,46,8,63,1,60,0,0,1,62,0,0,2,61,0,0,41,21,4,0,135,63,5,0,60,62,61,46,135,63,62,0,119,0,13,0,1,63,134,0,45,63,23,63,20,216,0,0,135,63,105,0,4,0,0,0,0,26,5,0,119,0,6,0,1,63,140,0,45,63,23,63,40,216,0,0,137,53,0,0,139,2,0,0,135,63,60,0,1,0,0,0,0,52,26,0,137,53,0,0,139,52,0,0,140,7,90,0,0,0,0,0,2,75,0,0,255,0,0,0,2,76,0,0,6,220,2,0,2,77,0,0,191,227,9,0,2,78,0,0,43,217,2,0,2,79,0,0,202,255,3,0,2,80,0,0,209,219,2,0,2,81,0,0,158,219,2,0,2,82,0,0,128,63,0,0,136,83,0,0,0,74,83,0,136,83,0,0,1,84,112,1,3,83,83,84,137,83,0,0,1,83,64,1,3,73,74,83,1,83,56,1,3,71,74,83,1,83,48,1,3,67,74,83,1,83,40,1,3,66,74,83,1,83,32,1,3,65,74,83,1,83,24,1,3,64,74,83,1,83,16,1,3,63,74,83,1,83,0,1,3,62,74,83,1,83,248,0,3,61,74,83,1,83,240,0,3,60,74,83,1,83,232,0,3,69,74,83,1,83,224,0,3,68,74,83,1,83,208,0,3,59,74,83,0,72,74,0,1,83,88,1,3,57,74,83,1,83,84,1,3,58,74,83,1,83,80,1,3,49,74,83,1,83,102,1,3,50,74,83,25,51,74,24,1,83,76,1,3,52,74,83,1,83,72,1,3,53,74,83,1,83,92,1,3,54,74,83,33,83,5,0,33,84,6,0,20,83,83,84,0,7,83,0,34,83,6,0,32,84,6,0,35,85,5,10,19,84,84,85,20,83,83,84,19,83,7,83,121,83,3,0,137,74,0,0,139,0,0,0,1,83,0,0,1,84,0,0,1,85,1,0,135,55,33,0,0,83,84,85,135,56,2,0,1,85,246,255,1,84,255,255,135,25,44,0,5,6,85,84,135,26,2,0,25,27,54,1,25,28,3,1,25,29,54,2,25,30,3,2,25,31,54,3,25,32,54,4,25,33,54,6,25,34,54,7,25,35,54,8,25,36,54,9,25,37,54,5,25,38,50,4,25,39,50,3,25,40,72,3,25,41,72,3,25,42,72,2,32,43,4,0,25,44,72,2,25,45,72,1,25,46,72,1,25,47,57,3,25,48,50,1,40,84,7,1,0,24,84,0,1,84,0,0,1,85,0,0,1,83,1,0,135,6,33,0,0,84,85,83,135,5,2,0,135,70,20,0,6,5,55,56,135,23,2,0,15,83,23,26,13,85,23,26,16,84,70,25,19,85,85,84,20,83,83,85,20,83,83,24,121,83,81,3,1,85,10,0,1,84,0,0,135,83,160,0,0,85,84,0,36,83,83,255,121,83,3,0,1,70,7,0,119,0,59,3,1,84,10,0,134,83,0,0,136,29,1,0,0,54,84,0,33,83,83,10,121,83,3,0,1,70,7,0,119,0,51,3,79,83,54,0,78,84,3,0,46,83,83,84,156,218,0,0,1,70,109,0,119,0,45,3,79,83,27,0,78,84,28,0,46,83,83,84,180,218,0,0,1,70,109,0,119,0,39,3,78,23,31,0,78,7,33,0,78,8,34,0,78,9,35,0,1,83,255,255,20,84,7,8,20,84,84,9,41,84,84,24,42,84,84,24,15,83,83,84,41,85,23,24,42,85,85,24,32,85,85,255,121,85,4,0,1,85,1,0,0,84,85,0,119,0,5,0,79,85,29,0,78,86,30,0,14,85,85,86,0,84,85,0,78,85,32,0,32,85,85,255,20,84,84,85,40,84,84,1,19,83,83,84,120,83,3,0,1,70,109,0,119,0,10,3,78,10,36,0,41,83,10,24,42,83,83,24,36,83,83,255,121,83,3,0,1,70,109,0,119,0,3,3,38,83,8,127,41,83,83,14,38,84,7,127,41,84,84,21,20,83,83,84,38,84,9,127,41,84,84,7,20,83,83,84,38,84,10,127,20,83,83,84,0,8,83,0,78,22,37,0,1,83,0,0,1,84,0,0,1,85,1,0,135,6,33,0,0,83,84,85,135,85,2,0,1,84,0,0,135,6,44,0,6,85,8,84,135,5,2,0,1,84,0,0,85,52,84,0,1,84,0,0,85,53,84,0,19,84,23,75,0,9,84,0,19,84,22,75,0,22,84,0,85,59,9,0,109,59,4,22,109,59,8,8,1,85,48,0,2,83,0,0,7,219,2,0,135,84,5,0,2,85,83,59,41,84,23,24,42,84,84,24,1,83,2,0,1,85,3,0,138,84,83,85,12,220,0,0,76,220,0,0,100,221,0,0,2,7,0,0,92,220,2,0,1,70,108,0,119,0,88,0,38,83,22,64,120,83,11,0,1,19,0,0,2,20,0,0,44,219,2,0,1,21,6,0,1,83,128,0,19,83,22,83,0,10,83,0,1,18,0,0,1,70,18,0,119,0,76,0,2,7,0,0,80,220,2,0,1,70,108,0,119,0,72,0,1,83,128,0,19,83,22,83,0,10,83,0,38,83,22,64,120,83,8,0,1,19,1,0,2,20,0,0,39,219,2,0,1,21,10,0,1,18,1,0,1,70,18,0,119,0,60,0,135,83,161,0,0,0,0,0,41,83,83,7,19,83,83,82,0,7,83,0,135,83,161,0,0,0,0,0,38,83,83,127,20,83,83,7,41,83,83,7,0,7,83,0,135,83,161,0,0,0,0,0,38,83,83,127,20,83,7,83,41,83,83,7,0,7,83,0,135,83,161,0,0,0,0,0,38,83,83,127,20,83,7,83,0,7,83,0,41,85,23,24,42,85,85,24,32,85,85,4,121,85,4,0,26,85,7,4,0,83,85,0,119,0,2,0,0,83,7,0,0,7,83,0,26,83,8,4,4,8,83,7,34,83,7,0,121,83,5,0,2,7,0,0,100,220,2,0,1,70,108,0,119,0,21,0,34,85,7,0,41,85,85,31,42,85,85,31,135,83,162,0,0,7,85,0,135,83,2,0,34,83,8,0,121,83,5,0,2,7,0,0,131,220,2,0,1,70,108,0,119,0,9,0,1,19,1,0,2,20,0,0,39,219,2,0,1,21,10,0,1,18,1,0,1,70,18,0,119,0,2,0,119,0,186,255,32,84,70,18,121,84,83,2,1,70,0,0,49,84,21,8,116,230,0,0,41,84,23,24,42,84,84,24,33,17,84,3,1,7,0,0,121,18,223,0,1,83,4,0,134,84,0,0,136,29,1,0,0,50,83,0,34,84,84,4,120,84,52,2,1,84,0,0,83,38,84,0,135,9,163,0,0,0,0,0,1,84,127,0,16,84,84,9,19,84,17,84,121,84,204,0,50,84,8,9,16,222,0,0,43,84,9,1,19,84,84,82,38,83,9,127,20,84,84,83,43,83,9,2,2,85,0,0,0,192,31,0,19,83,83,85,20,84,84,83,43,83,9,3,2,85,0,0,0,0,224,15,19,83,83,85,20,84,84,83,0,9,84,0,119,0,186,0,1,84,0,0,1,83,0,0,1,85,1,0,135,14,33,0,0,84,83,85,135,15,2,0,25,83,9,6,1,84,0,0,135,85,160,0,0,83,84,0,120,85,15,2,43,85,9,1,19,85,85,82,38,84,9,127,20,85,85,84,43,84,9,2,2,83,0,0,0,192,31,0,19,84,84,83,20,85,85,84,43,84,9,3,2,83,0,0,0,0,224,15,19,84,84,83,20,85,85,84,0,11,85,0,25,12,14,2,3,16,12,11,34,84,16,0,41,84,84,31,42,84,84,31,1,83,0,0,135,85,33,0,0,16,84,83,135,85,2,0,34,85,85,0,121,85,3,0,1,70,33,0,119,0,65,0,1,83,4,0,134,85,0,0,136,29,1,0,0,72,83,0,34,85,85,4,121,85,3,0,1,70,33,0,119,0,57,0,82,16,72,0,19,85,16,75,0,13,85,0,121,16,52,0,78,16,40,0,1,85,25,0,26,83,16,65,19,83,83,75,15,85,85,83,1,83,9,0,26,84,16,48,19,84,84,75,15,83,83,84,19,85,85,83,121,85,3,0,1,70,33,0,119,0,40,0,78,16,42,0,1,85,25,0,26,83,16,65,19,83,83,75,15,85,85,83,1,83,9,0,26,84,16,48,19,84,84,75,15,83,83,84,19,85,85,83,121,85,3,0,1,70,33,0,119,0,27,0,78,16,45,0,1,85,25,0,26,83,16,65,19,83,83,75,15,85,85,83,1,83,9,0,26,84,16,48,19,84,84,75,15,83,83,84,19,85,85,83,121,85,3,0,1,70,33,0,119,0,14,0,1,85,25,0,26,83,13,65,19,83,83,75,15,85,85,83,1,83,9,0,26,84,13,48,19,84,84,75,15,83,83,84,19,85,85,83,121,85,3,0,1,70,33,0,119,0,2,0,0,9,11,0,32,85,70,33,121,85,77,0,1,70,0,0,3,16,12,9,34,83,16,0,41,83,83,31,42,83,83,31,1,84,0,0,135,85,33,0,0,16,83,84,135,85,2,0,34,85,85,0,121,85,3,0,1,70,40,0,119,0,151,1,1,84,4,0,134,85,0,0,136,29,1,0,0,72,84,0,34,85,85,4,121,85,3,0,1,70,40,0,119,0,143,1,82,16,72,0,19,85,16,75,0,11,85,0,121,16,52,0,78,16,41,0,1,85,25,0,26,84,16,65,19,84,84,75,15,85,85,84,1,84,9,0,26,83,16,48,19,83,83,75,15,84,84,83,19,85,85,84,121,85,3,0,1,70,40,0,119,0,126,1,78,16,44,0,1,85,25,0,26,84,16,65,19,84,84,75,15,85,85,84,1,84,9,0,26,83,16,48,19,83,83,75,15,84,84,83,19,85,85,84,121,85,3,0,1,70,40,0,119,0,113,1,78,16,46,0,1,85,25,0,26,84,16,65,19,84,84,75,15,85,85,84,1,84,9,0,26,83,16,48,19,83,83,75,15,84,84,83,19,85,85,84,121,85,3,0,1,70,40,0,119,0,100,1,1,85,25,0,26,84,11,65,19,84,84,75,15,85,85,84,1,84,9,0,26,83,11,48,19,83,83,75,15,84,84,83,19,85,85,84,121,85,3,0,1,70,40,0,119,0,88,1,1,84,0,0,135,85,33,0,0,14,15,84,135,85,2,0,135,12,164,0,0,0,0,0,38,85,12,2,0,14,85,0,119,0,13,0,1,84,3,0,134,85,0,0,136,29,1,0,0,50,84,0,34,85,85,3,120,85,86,1,1,85,0,0,83,39,85,0,1,14,0,0,1,12,0,0,135,9,165,0,0,0,0,0,2,85,0,0,0,0,0,16,55,85,85,9,116,230,0,0,4,85,8,21,4,8,85,9,34,85,8,0,120,85,72,1,1,85,0,0,1,84,0,0,1,83,1,0,135,15,33,0,0,85,84,83,135,83,2,0,1,84,0,0,135,15,44,0,15,83,9,84,135,16,2,0,120,9,10,0,78,84,50,0,121,84,43,1,85,68,50,0,1,83,48,0,2,85,0,0,48,219,2,0,135,84,5,0,2,83,85,68,119,0,36,1,38,84,12,1,120,84,3,0,0,11,9,0,119,0,6,0,35,84,9,4,120,84,46,1,135,84,163,0,0,0,0,0,26,11,9,4,38,84,12,8,0,13,84,0,38,84,12,12,120,84,249,0,78,9,50,0,41,84,9,24,42,84,84,24,33,84,84,84,121,84,20,0,1,85,4,0,135,84,166,0,50,78,85,0,120,84,2,0,119,0,15,0,135,84,19,0,50,20,0,0,120,84,2,0,119,0,11,0,120,43,6,0,135,7,167,0,50,19,0,0,120,7,7,0,1,7,0,0,119,0,1,0,41,84,9,24,42,84,84,24,120,84,252,0,119,0,2,1,20,84,14,10,0,14,84,0,32,9,14,0,20,84,14,13,121,84,10,0,135,84,168,0,52,53,11,0,82,84,52,0,120,84,6,0,85,60,11,0,1,85,16,0,135,84,5,0,2,85,81,60,119,0,237,0,121,9,3,0,0,13,0,0,119,0,54,0,82,9,52,0,3,14,9,11,134,84,0,0,136,29,1,0,0,9,11,0,46,84,84,11,180,226,0,0,1,85,16,0,2,83,0,0,184,219,2,0,135,84,5,0,2,85,83,61,119,0,221,0,121,11,26,0,0,11,9,0,0,12,9,0,25,13,11,1,25,9,12,1,78,84,11,0,83,12,84,0,52,84,13,14,28,227,0,0,78,84,11,0,32,84,84,255,121,84,10,0,78,83,13,0,32,83,83,0,121,83,4,0,25,83,11,2,0,84,83,0,119,0,2,0,0,84,13,0,0,11,84,0,119,0,2,0,0,11,13,0,52,84,11,14,28,227,0,0,0,12,9,0,119,0,234,255,82,13,52,0,0,11,9,0,4,83,11,13,1,85,0,0,1,86,0,0,1,87,0,0,1,88,0,0,1,89,0,0,135,84,169,0,51,13,83,85,86,87,88,89,0,13,51,0,82,84,52,0,4,11,11,84,78,84,50,0,32,84,84,84,121,84,5,0,135,84,170,0,2,13,11,1,50,0,0,0,119,0,174,0,1,89,4,0,135,84,166,0,50,78,89,0,120,84,77,0,85,72,11,0,1,84,0,0,85,58,84,0,1,84,0,0,85,49,84,0,34,84,11,1,121,84,3,0,1,70,84,0,119,0,50,0,135,9,161,0,13,0,0,0,26,84,11,1,85,72,84,0,1,89,3,0,134,84,0,0,136,29,1,0,13,57,89,0,34,84,84,3,121,84,3,0,1,70,84,0,119,0,38,0,1,84,0,0,83,47,84,0,26,84,11,4,85,72,84,0,135,84,171,0,2,13,9,58,72,0,0,0,34,84,84,0,121,84,3,0,1,70,84,0,119,0,27,0,135,84,171,0,2,13,9,49,72,0,0,0,34,84,84,0,121,84,3,0,1,70,84,0,119,0,20,0,82,14,58,0,78,84,14,0,33,9,84,0,125,84,9,14,77,0,0,0,85,62,84,0,125,89,9,79,77,0,0,0,109,62,4,89,109,62,8,57,135,9,172,0,80,62,0,0,120,9,3,0,1,70,84,0,119,0,5,0,82,84,49,0,1,88,0,0,135,89,4,0,1,9,84,88,32,89,70,84,121,89,8,0,1,70,0,0,1,88,16,0,2,84,0,0,223,219,2,0,135,89,5,0,2,88,84,63,1,9,0,0,82,84,58,0,135,89,105,0,84,0,0,0,82,84,49,0,135,89,105,0,84,0,0,0,135,89,105,0,9,0,0,0,119,0,94,0,135,89,19,0,50,20,0,0,121,89,7,0,106,84,7,8,38,84,84,127,135,89,173,0,84,2,13,11,50,4,19,0,119,0,85,0,85,72,11,0,2,89,0,0,254,219,2,0,85,57,89,0,1,89,4,0,49,89,89,11,184,229,0,0,135,12,161,0,13,0,0,0,135,89,174,0,13,0,0,0,26,89,11,4,85,72,89,0,135,89,171,0,2,13,12,58,72,0,0,0,34,89,89,0,121,89,5,0,1,84,16,0,135,89,5,0,2,84,76,64,119,0,63,0,82,9,58,0,120,9,3,0,1,11,24,0,119,0,11,0,78,89,9,0,120,89,7,0,135,89,73,0,58,0,0,0,82,9,58,0,120,9,3,0,1,11,24,0,119,0,3,0,85,57,9,0,1,11,28,0,135,89,171,0,2,13,12,58,72,0,0,0,34,89,89,0,121,89,10,0,1,84,16,0,135,89,5,0,2,84,76,65,38,89,11,4,120,89,2,0,119,0,38,0,135,89,73,0,57,0,0,0,119,0,35,0,82,9,58,0,120,9,2,0,119,0,32,0,82,84,57,0,135,89,4,0,1,84,9,11,119,0,28,0,119,0,27,0,32,84,13,0,121,84,5,0,2,84,0,0,119,219,2,0,0,89,84,0,119,0,10,0,38,88,12,4,32,88,88,0,2,87,0,0,83,219,2,0,2,86,0,0,94,219,2,0,125,84,88,87,86,0,0,0,0,89,84,0,85,69,89,0,109,69,4,50,1,84,24,0,2,86,0,0,129,219,2,0,135,89,5,0,2,84,86,69,1,86,0,0,135,89,162,0,0,11,86,0,135,89,2,0,1,86,0,0,135,89,33,0,0,15,16,86,135,89,2,0,54,89,8,21,116,230,0,0,119,0,212,253,32,89,70,40,120,89,12,0,78,89,48,0,121,89,6,0,1,86,24,0,2,84,0,0,44,220,2,0,135,89,5,0,2,86,84,66,1,84,0,0,135,89,162,0,0,11,84,0,135,89,2,0,41,89,23,24,42,89,89,24,33,89,89,4,38,84,22,16,32,84,84,0,20,89,89,84,0,23,89,0,1,89,10,0,1,84,0,0,135,22,44,0,6,5,89,84,135,70,2,0,125,6,23,6,22,0,0,0,125,5,23,5,70,0,0,0,119,0,10,0,32,84,70,108,121,84,8,0,85,67,9,0,109,67,4,7,1,89,32,0,2,86,0,0,157,220,2,0,135,84,5,0,2,89,86,67,1,86,0,0,135,84,33,0,0,6,5,86,135,84,2,0,82,86,52,0,135,84,105,0,86,0,0,0,1,86,0,0,135,84,105,0,86,0,0,0,1,84,0,0,1,86,0,0,1,89,1,0,135,6,33,0,0,84,86,89,135,5,2,0,135,70,20,0,6,5,55,56,135,23,2,0,15,89,23,26,13,86,23,26,16,84,70,25,19,86,86,84,20,89,89,86,20,89,89,24,120,89,193,252,1,70,4,0,119,0,16,0,32,89,70,7,121,89,6,0,1,86,0,0,135,89,33,0,0,6,5,86,135,89,2,0,119,0,9,0,32,89,70,109,121,89,7,0,1,86,0,0,135,89,33,0,0,6,5,86,135,89,2,0,119,0,2,0,1,70,4,0,32,89,70,4,121,89,5,0,1,86,0,0,135,89,33,0,0,6,5,86,135,89,2,0,1,86,0,0,1,84,176,56,135,89,175,0,1,86,84,0,1,84,0,0,1,86,16,60,135,89,175,0,1,84,86,0,1,86,0,0,1,84,48,57,135,89,175,0,1,86,84,0,1,89,0,0,85,72,89,0,1,84,0,0,109,72,4,84,1,89,0,0,109,72,8,89,1,84,0,0,109,72,12,84,1,89,0,0,107,72,16,89,82,89,1,0,2,84,0,0,205,24,3,0,1,86,0,0,1,87,1,0,135,5,6,0,89,84,86,87,120,5,3,0,1,70,116,0,119,0,22,0,106,5,5,4,135,87,176,0,5,0,0,0,32,87,87,4,121,87,16,0,0,6,5,0,78,7,6,0,26,87,7,48,19,87,87,75,34,87,87,10,121,87,3,0,25,6,6,1,119,0,250,255,41,87,7,24,42,87,87,24,120,87,3,0,1,70,121,0,119,0,4,0,1,70,116,0,119,0,2,0,1,70,116,0,32,87,70,116,121,87,26,0,82,87,1,0,2,86,0,0,197,220,2,0,1,84,0,0,1,89,1,0,135,5,6,0,87,86,84,89,121,5,18,0,106,5,5,4,135,89,176,0,5,0,0,0,32,89,89,4,121,89,13,0,0,6,5,0,78,7,6,0,26,89,7,48,19,89,89,75,34,89,89,10,121,89,3,0,25,6,6,1,119,0,250,255,41,89,7,24,42,89,89,24,120,89,2,0,1,70,121,0,32,89,70,121,121,89,183,0,1,84,5,0,135,89,177,0,72,5,84,0,2,84,0,0,205,24,3,0,1,86,0,0,1,87,0,0,135,89,4,0,1,84,86,87,2,87,0,0,197,220,2,0,1,86,0,0,1,84,0,0,135,89,4,0,1,87,86,84,82,89,1,0,2,84,0,0,219,24,3,0,1,86,0,0,1,87,1,0,135,5,6,0,89,84,86,87,120,5,3,0,1,70,126,0,119,0,22,0,106,5,5,4,135,87,176,0,5,0,0,0,32,87,87,4,121,87,16,0,0,6,5,0,78,7,6,0,26,87,7,48,19,87,87,75,34,87,87,10,121,87,3,0,25,6,6,1,119,0,250,255,41,87,7,24,42,87,87,24,120,87,3,0,1,70,131,0,119,0,4,0,1,70,126,0,119,0,2,0,1,70,126,0,32,87,70,126,121,87,26,0,82,87,1,0,2,86,0,0,201,220,2,0,1,84,0,0,1,89,1,0,135,5,6,0,87,86,84,89,121,5,18,0,106,5,5,4,135,89,176,0,5,0,0,0,32,89,89,4,121,89,13,0,0,6,5,0,78,7,6,0,26,89,7,48,19,89,89,75,34,89,89,10,121,89,3,0,25,6,6,1,119,0,250,255,41,89,7,24,42,89,89,24,120,89,2,0,1,70,131,0,1,89,131,0,45,89,70,89,164,235,0,0,25,89,5,2,85,71,89,0,109,71,4,5,25,84,72,4,1,86,13,0,2,87,0,0,205,220,2,0,135,89,10,0,84,86,87,71,2,87,0,0,219,24,3,0,1,86,0,0,1,84,0,0,135,89,4,0,1,87,86,84,2,84,0,0,201,220,2,0,1,86,0,0,1,87,0,0,135,89,4,0,1,84,86,87,82,89,1,0,2,87,0,0,216,220,2,0,1,86,0,0,1,84,1,0,135,5,6,0,89,87,86,84,120,5,3,0,1,70,136,0,119,0,20,0,106,5,5,4,135,84,176,0,5,0,0,0,32,84,84,4,121,84,14,0,0,6,5,0,78,7,6,0,26,84,7,48,19,84,84,75,34,84,84,10,121,84,3,0,25,6,6,1,119,0,250,255,41,84,7,24,42,84,84,24,121,84,4,0,1,70,136,0,119,0,2,0,1,70,136,0,1,84,136,0,45,84,70,84,80,235,0,0,82,84,1,0,2,86,0,0,221,220,2,0,1,87,0,0,1,89,1,0,135,5,6,0,84,86,87,89,120,5,2,0,119,0,38,0,106,5,5,4,135,89,176,0,5,0,0,0,33,89,89,4,120,89,33,0,0,6,5,0,78,7,6,0,26,89,7,48,19,89,89,75,34,89,89,10,121,89,3,0,25,6,6,1,119,0,250,255,41,89,7,24,42,89,89,24,120,89,22,0,85,73,5,0,25,87,5,2,109,73,4,87,25,89,72,10,1,86,7,0,2,84,0,0,225,220,2,0,135,87,10,0,89,86,84,73,2,84,0,0,216,220,2,0,1,86,0,0,1,89,0,0,135,87,4,0,1,84,86,89,2,89,0,0,221,220,2,0,1,86,0,0,1,84,0,0,135,87,4,0,1,89,86,84,78,87,72,0,121,87,6,0,2,84,0,0,200,24,3,0,1,86,0,0,135,87,4,0,1,84,72,86,137,74,0,0,139,0,0,0,140,2,65,0,0,0,0,0,2,52,0,0,176,0,0,0,2,53,0,0,0,16,0,0,2,54,0,0,108,3,3,0,2,55,0,0,0,0,0,128,2,56,0,0,184,0,0,0,2,57,0,0,232,0,0,0,1,31,0,0,136,58,0,0,0,51,58,0,136,58,0,0,1,59,144,1,3,58,58,59,137,58,0,0,1,58,168,0,3,50,51,58,1,58,160,0,3,49,51,58,1,58,152,0,3,48,51,58,1,58,144,0,3,42,51,58,1,58,136,0,3,41,51,58,1,58,128,0,3,35,51,58,25,34,51,120,25,27,51,112,25,25,51,80,25,24,51,72,25,23,51,64,25,22,51,56,25,21,51,48,25,29,51,32,25,28,51,24,25,26,51,16,25,20,51,8,0,19,51,0,1,58,204,0,3,32,51,58,1,58,200,0,3,38,51,58,1,58,112,1,3,15,51,58,1,58,80,1,3,16,51,58,1,58,48,1,3,17,51,58,1,58,16,1,3,18,51,58,1,58,240,0,3,46,51,58,1,58,208,0,3,47,51,58,1,58,0,0,85,38,58,0,1,58,12,5,3,30,0,58,25,33,0,28,25,36,1,32,25,39,1,8,1,58,168,4,3,37,0,58,25,40,1,16,25,11,0,4,25,43,1,36,25,44,1,28,1,58,72,4,3,12,0,58,25,45,1,48,1,58,124,4,3,13,0,58,25,14,1,56,82,5,30,0,106,4,5,32,121,4,3,0,1,31,72,0,119,0,229,1,134,2,0,0,100,200,0,0,0,1,0,0,34,58,2,0,121,58,3,0,1,31,4,0,119,0,222,1,82,58,33,0,82,59,36,0,41,59,59,2,94,10,58,59,1,58,184,2,3,8,10,58,82,2,8,0,106,58,2,40,120,58,3,0,1,2,0,0,119,0,55,0,106,59,2,16,135,58,178,0,59,0,0,0,121,58,14,0,1,59,48,0,2,60,0,0,150,2,3,0,135,58,5,0,0,59,60,19,82,60,8,0,106,60,60,16,135,58,14,0,60,0,0,0,1,58,180,0,94,58,10,58,1,60,0,0,109,58,60,60,3,3,10,57,82,4,3,0,120,4,3,0,3,2,10,52,119,0,13,0,3,2,10,52,82,60,8,0,106,60,60,16,106,60,60,16,82,58,2,0,106,58,58,4,46,60,60,58,236,237,0,0,135,60,117,0,4,0,0,0,1,60,0,0,85,3,60,0,82,60,8,0,106,60,60,16,82,58,2,0,135,3,83,0,60,58,0,0,34,58,3,0,121,58,3,0,1,31,19,0,119,0,168,1,106,58,10,8,82,60,2,0,135,2,83,0,58,60,0,0,34,60,2,0,121,60,3,0,1,31,21,0,119,0,160,1,82,60,8,0,1,58,0,0,109,60,40,58,0,4,39,0,82,3,4,0,106,4,4,4,32,58,3,0,13,60,4,55,19,58,58,60,120,58,68,0,0,7,40,0,82,9,7,0,106,7,7,4,33,58,9,0,14,60,7,55,20,58,58,60,15,60,4,7,13,59,4,7,16,61,3,9,19,59,59,61,20,60,60,59,19,58,58,60,121,58,55,0,82,5,36,0,0,6,15,0,25,7,6,32,1,58,0,0,83,6,58,0,25,6,6,1,54,58,6,7,152,238,0,0,0,6,20,0,85,6,3,0,109,6,4,4,1,60,32,0,2,59,0,0,58,255,3,0,135,58,10,0,15,60,59,20,0,6,16,0,25,7,6,32,1,58,0,0,83,6,58,0,25,6,6,1,54,58,6,7,212,238,0,0,0,4,40,0,82,3,4,0,106,4,4,4,32,58,3,0,13,59,4,55,19,58,58,59,121,58,7,0,1,59,32,0,2,60,0,0,227,2,3,0,135,58,10,0,16,59,60,26,119,0,9,0,0,9,28,0,85,9,3,0,109,9,4,4,1,60,32,0,2,59,0,0,58,255,3,0,135,58,10,0,16,60,59,28,82,9,44,0,85,29,5,0,109,29,4,15,109,29,8,16,109,29,12,9,1,59,24,0,2,60,0,0,233,2,3,0,135,58,5,0,0,59,60,29,82,58,37,0,38,58,58,1,121,58,76,0,82,5,36,0,0,6,17,0,25,7,6,32,1,58,0,0,83,6,58,0,25,6,6,1,54,58,6,7,124,239,0,0,0,4,39,0,82,3,4,0,106,4,4,4,32,58,3,0,13,60,4,55,19,58,58,60,121,58,7,0,1,60,32,0,2,59,0,0,227,2,3,0,135,58,10,0,17,60,59,21,119,0,9,0,0,9,22,0,85,9,3,0,109,9,4,4,1,59,32,0,2,60,0,0,58,255,3,0,135,58,10,0,17,59,60,22,0,6,18,0,25,7,6,32,1,58,0,0,83,6,58,0,25,6,6,1,54,58,6,7,236,239,0,0],eb+51200);HEAPU8.set([0,4,40,0,82,3,4,0,106,4,4,4,32,58,3,0,13,60,4,55,19,58,58,60,121,58,7,0,1,60,32,0,2,59,0,0,227,2,3,0,135,58,10,0,18,60,59,23,119,0,9,0,0,9,24,0,85,9,3,0,109,9,4,4,1,59,32,0,2,60,0,0,58,255,3,0,135,58,10,0,18,59,60,24,82,7,44,0,0,6,45,0,82,4,6,0,106,6,6,4,82,9,43,0,85,25,5,0,109,25,4,17,109,25,8,18,109,25,12,7,25,7,25,16,85,7,4,0,109,7,4,6,109,25,24,9,1,60,48,0,2,59,0,0,32,3,3,0,135,58,5,0,0,60,59,25,1,58,228,0,3,3,10,58,82,58,3,0,120,58,3,0,1,31,46,0,119,0,95,0,3,4,10,57,82,58,4,0,120,58,53,0,82,58,12,0,38,58,58,32,121,58,3,0,1,31,46,0,119,0,87,0,3,5,10,52,82,58,5,0,106,58,58,4,135,6,82,0,58,0,0,0,85,4,6,0,120,6,13,0,82,59,5,0,106,59,59,4,135,58,9,0,59,0,0,0,85,27,58,0,1,59,40,0,135,58,5,0,0,59,54,27,1,58,0,0,85,3,58,0,1,31,46,0,119,0,68,0,82,58,3,0,1,59,0,0,1,60,6,0,138,58,59,60,76,241,0,0,72,241,0,0,84,241,0,0,72,241,0,0,104,241,0,0,124,241,0,0,119,0,18,0,1,31,46,0,119,0,55,0,3,9,6,52,82,59,9,0,39,59,59,1,85,9,59,0,119,0,11,0,3,9,6,52,82,59,9,0,39,59,59,2,85,9,59,0,119,0,6,0,3,9,6,52,82,59,9,0,20,59,59,53,85,9,59,0,119,0,1,0,1,58,48,0,106,59,10,52,49,58,58,59,176,241,0,0,135,58,60,0,1,0,0,0,1,3,0,0,119,0,32,0,82,58,36,0,1,59,0,0,135,2,179,0,0,1,58,59,34,59,2,0,121,59,3,0,1,31,113,0,119,0,184,0,82,59,8,0,106,9,59,16,94,3,10,52,1,58,88,1,94,58,9,58,109,3,108,58,25,8,9,40,106,7,8,4,25,6,3,24,116,6,8,0,109,6,4,7,1,59,92,1,94,59,9,59,109,3,104,59,1,59,120,1,3,6,9,59,106,7,6,4,25,8,3,96,116,8,6,0,109,8,4,7,106,58,9,16,109,3,4,58,1,3,0,0,32,58,31,46,121,58,143,0,1,31,0,0,1,59,0,0,1,60,0,0,1,61,0,0,135,58,180,0,0,10,59,1,60,55,61,55,82,58,11,0,106,58,58,8,1,61,0,1,19,58,58,61,120,58,3,0,1,3,1,0,119,0,129,0,82,58,43,0,38,58,58,1,120,58,3,0,1,3,1,0,119,0,124,0,0,5,40,0,82,6,5,0,106,5,5,4,32,58,6,0,13,61,5,55,19,58,58,61,121,58,3,0,1,3,1,0,119,0,115,0,82,58,33,0,82,61,10,0,41,61,61,2,94,3,58,61,1,58,140,1,3,7,3,58,82,4,7,0,82,58,13,0,29,58,58,24,48,58,4,58,220,242,0,0,0,4,6,0,0,3,5,0,119,0,38,0,1,58,0,0,47,58,58,4,96,243,0,0,1,58,136,1,3,4,3,58,1,3,0,0,1,5,0,0,82,8,4,0,27,58,3,24,3,9,8,58,27,58,5,24,3,8,8,58,116,9,8,0,106,61,8,4,109,9,4,61,106,58,8,8,109,9,8,58,106,61,8,12,109,9,12,61,106,58,8,16,109,9,16,58,106,61,8,20,109,9,20,61,25,3,3,1,41,61,3,1,0,5,61,0,82,61,7,0,54,61,5,61,248,242,0,0,0,5,40,0,82,4,5,0,106,5,5,4,119,0,3,0,1,3,0,0,0,4,6,0,85,7,3,0,0,3,5,0,0,9,14,0,82,8,9,0,106,9,9,4,1,61,248,1,94,7,10,61,121,7,44,0,1,61,240,1,3,6,10,61,82,5,6,0,106,6,6,4,33,61,4,0,14,58,3,55,20,61,61,58,33,58,5,0,14,60,6,55,20,58,58,60,19,61,61,58,121,61,32,0,15,61,3,6,13,58,6,3,16,60,4,5,19,58,58,60,20,61,61,58,0,5,61,0,32,61,7,1,19,61,61,5,121,61,11,0,1,61,1,0,1,58,0,0,94,60,10,56,135,7,49,0,61,58,60,0,135,60,2,0,135,4,44,0,7,60,4,3,135,3,2,0,119,0,13,0,33,60,7,255,20,60,60,5,120,60,10,0,1,60,1,0,1,58,0,0,94,61,10,56,135,7,49,0,60,58,61,0,135,61,2,0,135,4,20,0,4,3,7,61,135,3,2,0,1,58,136,1,3,58,10,58,1,60,140,1,3,60,10,60,1,59,144,1,3,59,10,59,1,62,0,0,1,63,0,0,1,64,1,0,135,61,181,0,58,60,59,8,9,4,3,62,63,64,0,0,1,3,1,0,1,61,188,1,3,4,10,61,82,61,43,0,38,61,61,1,120,61,7,0,82,61,4,0,121,61,7,0,135,61,60,0,1,0,0,0,1,3,0,0,119,0,3,0,1,61,0,0,85,4,61,0,121,3,26,254,1,31,76,0,119,0,1,0,32,61,31,4,121,61,34,0,32,61,2,250,121,61,4,0,1,50,250,255,137,51,0,0,139,50,0,0,25,6,0,24,82,3,6,0,121,3,18,0,1,5,0,0,82,61,33,0,41,64,5,2,94,4,61,64,94,61,4,57,121,61,9,0,1,61,228,0,94,61,4,61,121,61,6,0,82,64,4,0,1,63,1,0,135,61,179,0,0,1,64,63,82,3,6,0,25,5,5,1,55,61,5,3,216,244,0,0,82,5,30,0,25,3,5,32,82,4,3,0,120,4,3,0,1,31,76,0,119,0,28,0,1,31,73,0,119,0,26,0,32,61,31,19,121,61,7,0,135,61,60,0,1,0,0,0,0,50,3,0,137,51,0,0,139,50,0,0,119,0,18,0,32,61,31,21,121,61,7,0,135,61,60,0,1,0,0,0,0,50,2,0,137,51,0,0,139,50,0,0,119,0,10,0,32,61,31,72,121,61,4,0,25,3,5,32,1,31,73,0,119,0,5,0,32,61,31,113,121,61,3,0,137,51,0,0,139,2,0,0,32,61,31,73,121,61,21,0,85,32,4,0,0,6,1,0,0,2,4,0,25,7,6,72,116,6,2,0,25,6,6,4,25,2,2,4,54,61,6,7,180,245,0,0,25,31,4,72,116,3,31,0,82,61,31,0,120,61,3,0,1,63,0,0,109,5,36,63,135,63,73,0,32,0,0,0,1,2,0,0,1,31,77,0,119,0,7,0,32,63,31,76,121,63,5,0,1,63,255,255,47,63,63,2,12,246,0,0,1,31,77,0,32,63,31,77,121,63,222,0,82,63,33,0,82,61,36,0,41,61,61,2,94,11,63,61,1,63,208,1,3,8,11,63,82,7,8,0,106,8,8,4,32,63,7,0,32,61,8,0,19,63,63,61,121,63,3,0,1,5,0,0,119,0,100,0,0,4,39,0,82,3,4,0,106,4,4,4,32,63,3,0,13,61,4,55,19,63,63,61,121,63,3,0,1,5,0,0,119,0,91,0,2,63,0,0,0,0,254,127,15,63,4,63,2,61,0,0,0,0,254,127,13,61,4,61,35,64,3,0,19,61,61,64,20,63,63,61,0,10,63,0,1,61,0,0,1,64,255,255,125,63,10,61,64,0,0,0,1,61,0,0,2,62,0,0,255,255,254,127,125,64,10,61,62,0,0,0,135,4,20,0,3,4,63,64,135,3,2,0,106,10,11,20,94,64,11,52,106,64,64,108,106,63,11,16,5,6,64,63,34,63,6,0,41,63,63,31,42,63,63,31,0,5,63,0,34,63,10,0,41,63,63,31,42,63,63,31,0,9,63,0,135,3,40,0,4,3,6,5,10,9,0,0,135,4,2,0,0,33,45,0,82,63,33,0,106,64,33,4,135,9,40,0,63,64,6,5,10,9,0,0,135,64,2,0,34,64,9,0,41,64,64,31,42,64,64,31,0,10,64,0,135,5,44,0,3,4,9,10,135,6,2,0,34,64,9,1,15,63,6,8,13,62,6,8,16,61,5,7,19,62,62,61,20,63,63,62,20,64,64,63,121,64,3,0,1,5,0,0,119,0,28,0,1,64,216,1,3,33,11,64,106,32,33,4,15,64,4,32,45,62,4,32,148,247,0,0,82,62,33,0,16,62,3,62,0,63,62,0,119,0,3,0,1,62,0,0,0,63,62,0,20,64,64,63,0,33,64,0,135,3,20,0,5,6,7,8,135,4,2,0,121,33,9,0,15,64,10,4,13,63,4,10,16,62,9,3,19,63,63,62,20,64,64,63,125,5,64,9,3,0,0,0,119,0,2,0,1,5,0,0,1,64,200,1,3,33,11,64,82,3,33,0,32,64,3,0,106,63,33,4,32,63,63,0,19,64,64,63,120,64,18,0,0,33,39,0,106,4,33,4,82,64,33,0,1,63,255,255,1,62,2,0,138,64,63,62,28,248,0,0,48,248,0,0,119,0,9,0,2,63,0,0,255,255,254,127,53,63,4,63,60,248,0,0,119,0,2,0,120,4,3,0,1,64,192,1,97,11,64,3,1,64,192,1,3,3,11,64,82,64,3,0,20,64,64,5,121,64,31,0,1,64,11,0,1,63,10,0,135,4,51,0,1,64,63,0,121,4,24,0,82,33,3,0,83,4,33,0,42,64,33,8,107,4,1,64,42,63,33,16,107,4,2,63,42,64,33,24,107,4,3,64,25,33,4,4,83,33,5,0,42,63,5,8,107,33,1,63,42,64,5,16,107,33,2,64,42,63,5,24,107,33,3,63,116,34,3,0,109,34,4,5,1,64,48,0,2,62,0,0,173,3,3,0,135,63,5,0,0,64,62,34,1,63,0,0,85,3,63,0,1,63,172,2,3,8,11,63,82,63,8,0,121,63,45,0,1,63,156,0,3,9,11,63,1,63,0,0,82,62,9,0,47,63,63,62,128,249,0,0,1,63,152,0,3,5,11,63,1,4,0,0,82,6,5,0,27,63,4,12,3,63,6,63,25,3,63,8,82,62,3,0,1,64,0,0,135,63,50,0,1,62,64,0,120,63,21,0,27,63,4,12,3,63,6,63,25,7,63,4,82,63,3,0,82,64,7,0,135,3,51,0,1,63,64,0,120,3,7,0,1,63,24,0,2,62,0,0,213,3,3,0,135,64,5,0,0,63,62,35,119,0,7,0,27,62,4,12,94,62,6,62,82,63,7,0,135,64,52,0,3,62,63,0,119,0,1,0,25,4,4,1,82,64,9,0,54,64,4,64,252,248,0,0,1,64,0,0,85,8,64,0,2,63,0,0,248,3,3,0,1,62,1,0,135,64,182,0,0,63,62,38,82,3,38,0,121,3,19,0,1,64,188,4,3,35,0,64,82,64,35,0,39,64,64,1,85,35,64,0,1,62,140,4,3,62,0,62,1,63,0,0,135,64,183,0,62,3,63,0,135,64,79,0,38,0,0,0,2,63,0,0,248,3,3,0,1,62,0,0,1,61,1,0,135,64,184,0,0,63,62,61,135,64,185,0,0,0,0,0,82,64,37,0,38,64,64,1,121,64,75,0,82,5,36,0,0,6,46,0,25,7,6,32,1,64,0,0,83,6,64,0,25,6,6,1,54,64,6,7,12,250,0,0,0,4,39,0,82,3,4,0,106,4,4,4,32,64,3,0,13,61,4,55,19,64,64,61,121,64,7,0,1,61,32,0,2,62,0,0,227,2,3,0,135,64,10,0,46,61,62,41,119,0,9,0,0,41,42,0,85,41,3,0,109,41,4,4,1,62,32,0,2,61,0,0,58,255,3,0,135,64,10,0,46,62,61,42,0,6,47,0,25,7,6,32,1,64,0,0,83,6,64,0,25,6,6,1,54,64,6,7,124,250,0,0,0,4,40,0,82,3,4,0,106,4,4,4,32,64,3,0,13,61,4,55,19,64,64,61,121,64,7,0,1,61,32,0,2,62,0,0,227,2,3,0,135,64,10,0,47,61,62,48,119,0,9,0,0,48,49,0,85,48,3,0,109,48,4,4,1,62,32,0,2,61,0,0,58,255,3,0,135,64,10,0,47,62,61,49,82,48,44,0,82,44,45,0,106,45,45,4,82,49,43,0,85,50,5,0,109,50,4,46,109,50,8,47,109,50,12,48,25,48,50,16,85,48,44,0,109,48,4,45,109,50,24,49,1,61,48,0,2,62,0,0,1,4,3,0,135,64,5,0,0,61,62,50,2,64,0,0,187,176,185,223,46,64,2,64,68,251,0,0,0,50,2,0,137,51,0,0,139,50,0,0,106,2,0,16,120,2,5,0,2,50,0,0,187,176,185,223,137,51,0,0,139,50,0,0,106,50,2,72,1,64,255,255,15,64,64,50,32,62,50,250,20,64,64,62,2,62,0,0,187,176,185,223,125,50,64,62,50,0,0,0,137,51,0,0,139,50,0,0,140,2,32,0,0,0,0,0,2,23,0,0,128,2,0,0,2,24,0,0,96,1,0,0,2,25,0,0,0,176,4,0,1,18,0,0,136,26,0,0,0,22,26,0,136,26,0,0,1,27,144,12,3,26,26,27,137,26,0,0,1,26,120,12,3,5,22,26,1,26,32,8,3,11,22,26,1,26,128,12,3,21,22,26,1,26,32,12,3,16,22,26,0,12,22,0,1,26,124,12,3,13,22,26,106,19,0,12,1,26,0,0,85,21,26,0,1,27,0,0,109,21,4,27,1,26,0,0,109,21,8,26,25,17,0,28,82,26,17,0,82,26,26,0,1,27,176,0,94,15,26,27,25,20,19,28,82,26,20,0,120,26,151,1,1,26,56,4,3,10,19,26,25,4,19,12,82,2,4,0,106,3,19,8,82,26,10,0,33,26,26,0,15,27,3,2,19,26,26,27,121,26,3,0,106,2,19,4,85,4,2,0,47,26,3,2,116,252,0,0,2,0,0,0,187,176,185,223,137,22,0,0,139,0,0,0,1,26,60,4,94,26,19,26,32,26,26,3,121,26,7,0,25,7,19,36,1,27,0,4,135,26,177,0,11,7,27,0,0,14,11,0,119,0,29,0,1,26,64,4,94,26,19,26,121,26,7,0,1,26,72,4,94,26,19,26,41,27,2,2,94,14,26,27,25,7,19,36,119,0,20,0,25,3,19,36,1,27,0,4,135,26,186,0,11,27,3,2,34,26,26,0,121,26,12,0,1,26,1,0,82,27,4,0,47,26,26,27,248,252,0,0,1,0,227,255,137,22,0,0,139,0,0,0,119,0,6,0,0,14,11,0,0,7,3,0,119,0,3,0,0,14,11,0,0,7,3,0,25,6,0,16,1,26,72,5,3,8,0,26,25,9,19,32,82,2,6,0,0,3,2,0,120,2,3,0,1,18,16,0,119,0,15,0,135,26,19,0,11,7,0,0,120,26,11,0,82,26,10,0,120,26,7,0,82,26,9,0,120,26,3,0,85,21,3,0,119,0,6,0,1,18,16,0,119,0,4,0,1,18,16,0,119,0,2,0,1,18,16,0,32,26,18,16,121,26,22,0,1,26,0,0,82,28,8,0,38,28,28,63,1,29,1,0,1,30,0,0,135,27,187,0,28,0,21,14,29,30,0,0,49,26,26,27,160,253,0,0,82,2,21,0,119,0,10,0,85,5,14,0,1,27,16,0,2,28,0,0,51,223,2,0,135,26,5,0,0,27,28,5,1,0,227,255,137,22,0,0,139,0,0,0,135,2,116,0,2,0,0,0,135,26,2,0,82,26,9,0,120,26,4,0,1,8,0,0,1,7,0,0,119,0,104,0,135,26,176,0,14,0,0,0,26,26,26,1,1,28,85,0,95,14,26,28,82,3,6,0,0,4,3,0,120,3,3,0,1,18,112,0,119,0,15,0,135,28,19,0,11,7,0,0,120,28,11,0,82,28,10,0,120,28,7,0,82,28,9,0,120,28,3,0,109,21,4,4,119,0,6,0,1,18,112,0,119,0,4,0,1,18,112,0,119,0,2,0,1,18,112,0,32,28,18,112,121,28,15,0,25,3,21,4,82,26,8,0,38,26,26,63,1,27,1,0,1,30,0,0,135,28,187,0,26,0,3,14,27,30,0,0,34,28,28,0,121,28,4,0,1,8,0,0,1,7,0,0,119,0,65,0,82,3,3,0,135,5,116,0,3,0,0,0,135,28,2,0,82,28,9,0,120,28,4,0,1,8,0,0,0,7,5,0,119,0,56,0,135,28,176,0,14,0,0,0,26,28,28,1,1,26,86,0,95,14,28,26,82,3,6,0,0,4,3,0,120,3,3,0,1,18,120,0,119,0,15,0,135,26,19,0,11,7,0,0,120,26,11,0,82,26,10,0,120,26,7,0,82,26,9,0,120,26,3,0,109,21,8,4,119,0,6,0,1,18,120,0,119,0,4,0,1,18,120,0,119,0,2,0,1,18,120,0,32,26,18,120,121,26,15,0,25,3,21,8,82,28,8,0,38,28,28,63,1,30,1,0,1,27,0,0,135,26,187,0,28,0,3,14,30,27,0,0,34,26,26,0,121,26,4,0,1,8,0,0,0,7,5,0,119,0,17,0,82,3,3,0,135,3,116,0,3,0,0,0,135,26,2,0,82,26,9,0,120,26,4,0,0,8,3,0,0,7,5,0,119,0,8,0,135,26,176,0,14,0,0,0,26,26,26,1,1,28,87,0,95,14,26,28,0,8,3,0,0,7,5,0,25,4,15,4,82,3,4,0,120,3,50,0,1,28,0,0,85,16,28,0,1,26,0,0,109,16,4,26,1,28,0,0,109,16,8,28,1,26,0,0,109,16,12,26,1,26,0,0,85,13,26,0,82,26,21,0,1,28,0,8,134,3,0,0,136,29,1,0,26,12,28,0,34,28,3,0,121,28,4,0,0,0,3,0,137,22,0,0,139,0,0,0,3,26,12,3,1,27,0,0,1,30,32,8,4,30,30,3,135,28,0,0,26,27,30,0,1,28,0,0,4,18,28,3,82,30,21,0,34,27,18,0,41,27,27,31,42,27,27,31,135,28,162,0,30,18,27,0,135,28,2,0,109,16,4,12,109,16,8,3,85,16,14,0,1,28,1,0,135,3,188,0,16,28,13,0,121,3,7,0,106,28,3,48,32,28,28,14,121,28,4,0,106,3,3,32,121,3,2,0,85,4,3,0,82,3,4,0,32,28,3,13,121,28,138,0,25,6,15,48,82,28,6,0,120,28,133,0,25,5,15,52,2,28,0,0,0,0,3,0,47,28,2,28,84,1,1,0,2,28,0,0,0,140,1,0,47,28,2,28,236,0,1,0,2,28,0,0,0,74,1,0,47,28,2,28,192,0,1,0,1,28,0,80,1,27,1,0,138,2,28,27,176,0,1,0,0,3,14,0,119,0,168,0,119,0,1,0,1,3,128,0,1,4,160,0,119,0,106,0,2,28,0,0,0,74,1,0,1,27,1,0,138,2,28,27,220,0,1,0,0,3,14,0,119,0,157,0,119,0,1,0,1,3,240,0,1,4,96,1,119,0,95,0,2,28,0,0,0,88,2,0,47,28,2,28,40,1,1,0,2,28,0,0,0,140,1,0,1,27,1,0,138,2,28,27,24,1,1,0,0,3,14,0,119,0,142,0,119,0,1,0,1,3,32,1,1,4,96,1,119,0,80,0,2,28,0,0,0,88,2,0,1,27,1,0,138,2,28,27,68,1,1,0,0,3,14,0,119,0,131,0,119,0,1,0,1,3,240,0,1,4,128,2,119,0,69,0,47,28,2,25,196,1,1,0,2,28,0,0,0,112,3,0,47,28,2,28,152,1,1,0,2,28,0,0,0,0,3,0,1,27,1,0,138,2,28,27,136,1,1,0,0,3,14,0,119,0,114,0,119,0,1,0,1,3,128,1,1,4,0,2,119,0,52,0,2,28,0,0,0,112,3,0,1,27,1,0,138,2,28,27,180,1,1,0,0,3,14,0,119,0,103,0,119,0,1,0,1,3,96,1,1,4,128,2,119,0,41,0,2,28,0,0,0,70,5,0,47,28,2,28,252,1,1,0,2,28,0,0,0,176,4,0,1,27,1,0,138,2,28,27,240,1,1,0,0,3,14,0,119,0,88,0,1,3,224,1,1,4,128,2,119,0,27,0,2,28,0,0,0,84,6,0,47,28,2,28,56,2,1,0,2,28,0,0,0,70,5,0,1,27,1,0,138,2,28,27,40,2,1,0,0,3,14,0,119,0,74,0,119,0,1,0,1,3,224,1,1,4,208,2,119,0,12,0,2,28,0,0,0,84,6,0,1,27,1,0,138,2,28,27,84,2,1,0,0,3,14,0,119,0,63,0,119,0,1,0,1,3,64,2,1,4,208,2,119,0,1,0,85,6,4,0,85,5,3,0,0,3,14,0,119,0,55,0,0,3,14,0,119,0,53,0,0,3,14,0,119,0,51,0,25,3,0,16,82,2,3,0,85,21,2,0,135,28,189,0,2,0,0,0,121,28,12,0,1,28,56,4,94,28,19,28,121,28,9,0,82,28,20,0,121,28,7,0,1,27,0,0,1,30,0,0,1,26,0,0,135,28,33,0,2,27,30,26,135,28,2,0,135,28,189,0,2,0,0,0,121,28,5,0,2,0,0,0,187,176,185,223,137,22,0,0,139,0,0,0,1,28,112,4,94,2,19,28,1,28,0,0,47,28,28,2,8,3,1,0,0,3,11,0,1,7,0,0,1,8,0,0,119,0,18,0,82,28,17,0,82,28,28,0,1,26,232,0,94,28,28,26,120,28,9,0,82,28,3,0,135,2,116,0,28,0,0,0,135,28,2,0,0,3,11,0,1,7,0,0,1,8,0,0,119,0,5,0,0,3,11,0,1,2,0,16,1,7,0,0,1,8,0,0,3,28,7,2,3,28,28,8,135,5,190,0,1,28,0,0,1,28,0,0,49,28,28,5,240,8,1,0,1,26,0,0,109,1,32,26,25,6,1,36,82,26,6,0,39,26,26,1,85,6,26,0,1,26,116,4,3,6,19,26,82,26,6,0,120,26,12,0,82,26,20,0,120,26,8,0,25,16,19,16,106,17,16,4,25,18,1,8,116,18,16,0,109,18,4,17,1,18,57,0,119,0,53,0,1,18,58,0,119,0,51,0,135,26,191,0,3,16,0,0,121,26,3,0,1,5,227,255,119,0,73,1,106,4,16,64,34,26,4,0,41,26,26,31,42,26,26,31,0,3,26,0,25,5,1,8,0,18,5,0,85,18,4,0,109,18,4,3,82,26,6,0,32,26,26,2,121,26,17,0,2,26,0,0,0,202,154,59,1,28,0,0,135,18,89,0,4,3,26,28,135,3,2,0,106,4,16,68,34,28,4,0,41,28,28,31,42,28,28,31,135,4,44,0,18,3,4,28,135,3,2,0,0,18,5,0,85,18,4,0,109,18,4,3,106,18,19,12,82,26,17,0,82,26,26,0,34,30,18,0,41,30,30,31,42,30,30,31,1,27,0,0,1,29,0,0,1,31,1,0,135,28,192,0,26,18,30,4,3,27,29,31,82,28,20,0,120,28,3,0,1,18,57,0,119,0,2,0,1,18,58,0,32,28,18,57,121,28,4,0,25,10,1,56,0,5,21,0,119,0,15,0,32,28,18,58,121,28,13,0,82,28,21,0,1,31,0,0,1,29,0,0,1,27,1,0,135,16,33,0,28,31,29,27,135,17,2,0,25,10,1,56,0,5,10,0,85,5,16,0,109,5,4,17,0,5,21,0,25,12,1,28,1,27,0,0,85,12,27,0,25,11,1,24,1,27,56,4,3,9,19,27,25,13,0,16,82,3,5,0,120,3,3,0,1,6,0,0,119,0,70,0,82,27,11,0,134,4,0,0,136,29,1,0,3,27,2,0,82,27,9,0,120,27,4,0,0,2,4,0,1,18,64,0,119,0,42,0,82,3,20,0,2,27,0,0,187,176,185,223,13,27,4,27,33,29,3,0,19,27,27,29,121,27,34,0,82,27,5,0,1,29,0,0,1,31,0,0,1,28,0,0,135,18,33,0,27,29,31,28,135,17,2,0,1,28,255,255,15,28,28,17,32,31,17,255,1,29,255,255,16,29,29,18,19,31,31,29,20,28,28,31,121,28,15,0,0,18,10,0,1,28,0,0,85,18,28,0,1,31,0,0,109,18,4,31,82,31,5,0,82,28,11,0,82,29,12,0,3,28,28,29,134,2,0,0,136,29,1,0,31,28,2,0,1,18,64,0,119,0,6,0,2,2,0,0,187,176,185,223,1,18,64,0,119,0,2,0,0,2,4,0,32,28,18,64,121,28,2,0,82,3,20,0,120,3,7,0,82,28,5,0,82,31,13,0,46,28,28,31,236,5,1,0,135,28,193,0,0,5,0,0,1,28,0,0,47,28,28,2,12,6,1,0,82,28,12,0,3,28,28,2,85,12,28,0,0,6,2,0,119,0,2,0,0,6,2,0,25,3,21,4,82,2,3,0,120,2,3,0,1,5,0,0,119,0,66,0,82,28,11,0,82,31,12,0,3,28,28,31,134,5,0,0,136,29,1,0,2,28,7,0,82,28,9,0,120,28,3,0,1,18,90,0,119,0,40,0,82,2,20,0,2,28,0,0,187,176,185,223,13,28,5,28,33,31,2,0,19,28,28,31,121,28,33,0,82,28,3,0,1,31,0,0,1,29,0,0,1,27,0,0,135,18,33,0,28,31,29,27,135,17,2,0,1,27,255,255,15,27,27,17,32,29,17,255,1,31,255,255,16,31,31,18,19,29,29,31,20,27,27,29,121,27,15,0,0,5,10,0,1,27,0,0,85,5,27,0,1,29,0,0,109,5,4,29,82,29,3,0,82,27,11,0,82,31,12,0,3,27,27,31,134,5,0,0,136,29,1,0,29,27,7,0,1,18,90,0,119,0,4,0,2,5,0,0,187,176,185,223,1,18,90,0,32,27,18,90,121,27,2,0,82,2,20,0,120,2,7,0,82,27,3,0,82,29,13,0,46,27,27,29,16,7,1,0,135,27,193,0,0,3,0,0,1,27,0,0,47,27,27,5,40,7,1,0,82,27,12,0,3,27,27,5,85,12,27,0,25,4,21,8,82,2,4,0,120,2,3,0,1,2,0,0,119,0,66,0,82,27,11,0,82,29,12,0,3,27,27,29,134,2,0,0,136,29,1,0,2,27,8,0,82,27,9,0,120,27,3,0,1,18,101,0,119,0,40,0,82,3,20,0,2,27,0,0,187,176,185,223,13,27,2,27,33,29,3,0,19,27,27,29,121,27,33,0,82,27,4,0,1,29,0,0,1,31,0,0,1,28,0,0,135,18,33,0,27,29,31,28,135,17,2,0,1,28,255,255,15,28,28,17,32,31,17,255,1,29,255,255,16,29,29,18,19,31,31,29,20,28,28,31,121,28,15,0,0,2,10,0,1,28,0,0,85,2,28,0,1,31,0,0,109,2,4,31,82,31,4,0,82,28,11,0,82,29,12,0,3,28,28,29,134,2,0,0,136,29,1,0,31,28,8,0,1,18,101,0,119,0,4,0,2,2,0,0,187,176,185,223,1,18,101,0,32,28,18,101,121,28,2,0,82,3,20,0,120,3,7,0,82,28,4,0,82,31,13,0,46,28,28,31,40,8,1,0,135,28,193,0,0,4,0,0,1,28,0,0,47,28,28,2,64,8,1,0,82,28,12,0,3,28,28,2,85,12,28,0,34,28,6,1,121,28,7,0,135,28,60,0,1,0,0,0,34,28,6,0,121,28,31,0,0,5,6,0,119,0,37,0,20,28,5,2,34,28,28,0,121,28,4,0,135,28,60,0,1,0,0,0,119,0,23,0,25,0,19,24,82,28,0,0,25,28,28,1,85,0,28,0,25,0,19,12,82,28,0,0,25,28,28,1,85,0,28,0,25,0,19,16,0,20,0,0,82,28,20,0,106,31,20,4,1,29,1,0,1,27,0,0,135,20,44,0,28,31,29,27,135,21,2,0,85,0,20,0,109,0,4,21,1,0,0,0,137,22,0,0,139,0,0,0,1,27,0,0,49,27,27,5,240,8,1,0,34,27,2,0,2,29,0,0,187,176,185,223,125,5,27,2,29,0,0,0,82,29,20,0,121,29,4,0,0,0,5,0,137,22,0,0,139,0,0,0,25,4,0,16,82,2,21,0,82,29,4,0,46,29,2,29,36,9,1,0,135,29,193,0,0,21,0,0,82,2,4,0,25,3,21,4,82,29,3,0,45,29,29,2,60,9,1,0,0,3,2,0,119,0,4,0,135,29,193,0,0,3,0,0,82,3,4,0,25,2,21,8,82,29,2,0,45,29,29,3,100,9,1,0,0,0,5,0,137,22,0,0,139,0,0,0,135,29,193,0,0,2,0,0,0,0,5,0,137,22,0,0,139,0,0,0,140,2,32,0,0,0,0,0,2,23,0,0,0,0,0,128,2,24,0,0,184,0,0,0,1,17,0,0,136,25,0,0,0,19,25,0,136,25,0,0,25,25,25,16,137,25,0,0,0,16,19,0,25,18,19,12,1,25,12,5,3,15,0,25,1,25,72,4,94,25,0,25,38,25,25,1,120,25,32,0,82,3,15,0,25,4,3,4,82,2,4,0,120,2,9,0,134,2,0,0,200,235,0,0,0,1,0,0,1,25,0,0,56,25,25,2,56,14,1,0,137,19,0,0,139,2,0,0,85,18,2,0,0,5,1,0,0,6,2,0,25,7,5,72,116,5,6,0,25,5,5,4,25,6,6,4,54,25,5,7,8,10,1,0,25,17,2,72,116,4,17,0,82,25,17,0,120,25,3,0,1,26,0,0,109,3,8,26,135,26,73,0,18,0,0,0,1,2,0,0,119,0,254,0,25,13,0,28,1,2,0,0,32,14,2,0,33,12,2,0,82,5,15,0,106,10,5,4,120,10,3,0,1,3,0,0,119,0,154,0,25,11,10,16,0,2,11,0,82,3,2,0,106,2,2,4,32,26,3,0,13,25,2,23,19,26,26,25,121,26,4,0,25,2,10,8,0,3,10,0,119,0,106,0,25,6,10,32,25,9,10,8,1,26,2,0,1,25,0,0,82,27,13,0,82,28,6,0,41,28,28,2,94,27,27,28,94,27,27,24,26,27,27,1,135,7,49,0,26,25,27,0,135,8,2,0,0,5,10,0,0,4,9,0,82,25,4,0,32,25,25,0,121,25,5,0,106,25,4,4,13,25,25,23,0,27,25,0,119,0,3,0,1,25,0,0,0,27,25,0,120,27,2,0,119,0,51,0,106,27,5,32,82,25,6,0,45,27,27,25,184,11,1,0,0,21,11,0,25,4,5,16,0,20,4,0,82,25,21,0,106,26,21,4,82,28,20,0,106,29,20,4,135,27,194,0,25,26,28,29,7,8,0,0,135,27,2,0,34,27,27,0,121,27,31,0,25,20,5,8,0,21,4,0,82,27,20,0,106,29,20,4,82,28,21,0,106,26,21,4,135,21,194,0,27,29,28,26,7,8,0,0,32,26,21,0,135,28,2,0,32,28,28,0,19,26,26,28,120,26,6,0,0,22,4,0,106,20,22,4,0,21,9,0,116,21,22,0,109,21,4,20,32,26,3,0,13,28,2,23,19,26,26,28,121,26,5,0,1,3,0,0,2,2,0,0,0,0,0,128,119,0,4,0,0,2,4,0,82,3,2,0,106,2,2,4,106,5,5,72,33,26,5,0,120,26,195,255,120,14,25,0,0,22,9,0,33,26,3,0,14,28,2,23,20,26,26,28,82,29,22,0,32,29,29,0,121,29,5,0,106,29,22,4,13,29,29,23,0,28,29,0,119,0,3,0,1,29,0,0,0,28,29,0,19,26,26,28,121,26,10,0,25,20,10,48,82,26,20,0,106,28,20,4,135,20,44,0,26,28,3,2,135,21,2,0,0,22,9,0,85,22,20,0,109,22,4,21,82,3,15,0,0,2,9,0,0,5,3,0,106,3,3,4,0,22,2,0,82,26,22,0,32,26,26,0,121,26,5,0,106,26,22,4,13,26,26,23,0,28,26,0,119,0,3,0,1,26,0,0,0,28,26,0,120,28,3,0,1,17,28,0,119,0,63,0,1,28,48,0,82,26,13,0,106,29,10,32,41,29,29,2,94,26,26,29,106,26,26,52,49,28,28,26,148,12,1,0,1,17,28,0,119,0,53,0,0,22,11,0,82,26,22,0,32,26,26,0,121,26,5,0,106,26,22,4,13,26,26,23,0,28,26,0,119,0,3,0,1,26,0,0,0,28,26,0,20,28,12,28,121,28,3,0,1,17,28,0,119,0,39,0,134,2,0,0,200,235,0,0,0,1,0,0,34,28,2,0,120,28,26,0,82,4,15,0,25,3,4,4,25,4,4,8,1,28,80,0,135,5,92,0,28,0,0,0,120,5,3,0,1,2,208,255,119,0,25,0,135,2,93,0,1,0,0,0,34,28,2,0,121,28,3,0,1,17,36,0,119,0,19,0,135,28,94,0,5,1,0,0,82,28,3,0,120,28,3,0,85,3,5,0,119,0,3,0,82,28,4,0,109,28,72,5,85,4,5,0,119,0,69,255,33,28,3,0,33,26,2,250,19,28,28,26,121,28,3,0,1,2,1,0,119,0,61,255,1,17,61,0,119,0,1,0,32,28,17,28,121,28,38,0,25,4,5,8,120,3,16,0,2,28,0,0,172,0,3,0,85,16,28,0,2,26,0,0,180,254,2,0,109,16,4,26,1,28,26,6,109,16,8,28,1,26,0,0,1,29,0,0,2,27,0,0,41,21,4,0,135,28,5,0,26,29,27,16,135,28,62,0,25,2,5,4,85,18,3,0,0,5,1,0,0,6,3,0,25,7,5,72,116,5,6,0,25,5,5,4,25,6,6,4,54,28,5,7,196,13,1,0,25,22,3,72,116,2,22,0,82,28,22,0,120,28,3,0,1,28,0,0,85,4,28,0,135,28,73,0,18,0,0,0,1,2,0,0,119,0,15,0,32,28,17,36,121,28,4,0,135,28,105,0,5,0,0,0,119,0,5,0,32,28,17,61,121,28,3,0,137,19,0,0,139,2,0,0,135,28,60,0,1,0,0,0,0,22,2,0,137,19,0,0,139,22,0,0,106,3,0,28,106,28,1,32,41,28,28,2,94,10,3,28,106,28,0,4,106,28,28,8,1,27,0,1,19,28,28,27,121,28,112,0,106,28,1,36,38,28,28,1,121,28,109,0,82,28,10,0,41,28,28,2,94,3,3,28,1,28,140,1,3,6,3,28,82,4,6,0,1,28,124,4,94,28,0,28,29,28,28,24,50,28,28,4,20,15,1,0,1,28,0,0,47,28,28,4,12,15,1,0,1,28,136,1,3,4,3,28,1,3,0,0,1,5,0,0,82,21,4,0,27,28,3,24,3,22,21,28,27,28,5,24,3,21,21,28,116,22,21,0,106,27,21,4,109,22,4,27,106,28,21,8,109,22,8,28,106,27,21,12,109,22,12,27,106,28,21,16,109,22,16,28,106,27,21,20,109,22,20,27,25,3,3,1,41,27,3,1,0,5,27,0,82,27,6,0,54,27,5,27,176,14,1,0,119,0,2,0,1,3,0,0,85,6,3,0,25,9,1,56,82,8,9,0,106,9,9,4,25,3,1,16,82,4,3,0,106,3,3,4,1,27,248,1,94,7,10,27,121,7,44,0,1,27,240,1,3,6,10,27,82,5,6,0,106,6,6,4,33,27,4,0,14,28,3,23,20,27,27,28,33,28,5,0,14,29,6,23,20,28,28,29,19,27,27,28,121,27,32,0,15,27,3,6,13,28,6,3,16,29,4,5,19,28,28,29,20,27,27,28,0,5,27,0,32,27,7,1,19,27,27,5,121,27,11,0,1,27,1,0,1,28,0,0,94,29,10,24,135,22,49,0,27,28,29,0,135,29,2,0,135,4,44,0,22,29,4,3,135,3,2,0,119,0,13,0,33,29,7,255,20,29,29,5,120,29,10,0,1,29,1,0,1,28,0,0,94,27,10,24,135,22,49,0,29,28,27,0,135,27,2,0,135,4,20,0,4,3,22,27,135,3,2,0,1,28,136,1,3,28,10,28,1,29,140,1,3,29,10,29,1,26,144,1,3,26,10,26,1,25,0,0,1,30,0,0,1,31,1,0,135,27,181,0,28,29,26,8,9,4,3,25,30,31,0,0,25,3,1,16,0,5,3,0,82,4,5,0,106,5,5,4,2,27,0,0,0,0,254,127,15,27,5,27,2,31,0,0,0,0,254,127,13,31,5,31,35,30,4,0,19,31,31,30,20,27,27,31,120,27,10,0,1,27,1,0,2,31,0,0,0,0,1,128,135,20,44,0,4,5,27,31,135,21,2,0,0,22,3,0,85,22,20,0,109,22,4,21,25,3,1,8,0,5,3,0,82,4,5,0,106,5,5,4,2,31,0,0,0,0,254,127,15,31,5,31,2,27,0,0,0,0,254,127,13,27,5,27,35,30,4,0,19,27,27,30,20,31,31,27,121,31,4,0,0,22,2,0,137,19,0,0,139,22,0,0,1,31,1,0,2,27,0,0,0,0,1,128,135,20,44,0,4,5,31,27,135,21,2,0,0,22,3,0,85,22,20,0,109,22,4,21,0,22,2,0,137,19,0,0,139,22,0,0,140,4,25,0,0,0,0,0,2,18,0,0,116,66,3,0,2,19,0,0,145,66,3,0,2,20,0,0,253,68,3,0,136,21,0,0,0,17,21,0,136,21,0,0,25,21,21,64,137,21,0,0,25,11,17,32,25,10,17,24,25,9,17,16,25,8,17,8,0,5,17,0,25,6,17,48,25,7,17,44,25,16,17,40,25,14,17,36,82,4,0,0,1,21,0,0,85,16,21,0,1,21,0,0,85,14,21,0,120,4,9,0,135,4,126,0,120,4,5,0,1,16,208,255,137,17,0,0,139,16,0,0,119,0,4,0,0,15,4,0,119,0,2,0,0,15,4,0,82,21,15,0,120,21,10,0,1,22,0,0,1,23,16,0,2,24,0,0,75,255,2,0,135,21,5,0,22,23,24,5,1,16,228,255,137,17,0,0,139,16,0,0,121,2,2,0,109,15,4,2,33,13,3,0,121,13,5,0,82,24,3,0,1,23,0,0,135,21,183,0,16,24,23,0,25,12,15,16,82,21,12,0,121,21,7,0,1,21,72,4,3,5,15,21,82,21,5,0,1,23,128,0,20,21,21,23,85,5,21,0,135,4,195,0,15,16,0,0,1,21,0,0,49,21,21,4,216,23,1,0,32,21,1,0,2,23,0,0,191,227,9,0,125,4,21,23,1,0,0,0,135,5,143,0,4,0,0,0,1,23,32,4,97,15,23,5,120,5,3,0,1,4,208,255,119,0,107,1,25,21,15,32,1,24,0,4,135,23,177,0,21,4,24,0,85,6,1,0,1,24,0,0,109,6,4,24,1,23,0,0,109,6,8,23,1,24,0,0,109,6,12,24,1,24,25,0,85,7,24,0,82,5,12,0,120,5,43,0,25,2,15,4,82,4,2,0,120,4,9,0,1,24,0,0,135,8,196,0,6,24,7,0,85,2,8,0,121,8,10,0,82,4,7,0,1,2,27,0,119,0,62,0,106,24,4,8,38,24,24,1,121,24,4,0,1,4,25,0,1,2,26,0,119,0,56,0,1,24,72,5,94,24,15,24,38,24,24,63,1,23,220,4,94,23,15,23,39,23,23,1,135,4,187,0,24,15,12,1,23,16,0,0,34,24,4,0,120,24,64,1,82,24,2,0,120,24,10,0,82,24,12,0,1,23,0,0,1,21,0,5,94,21,15,21,135,4,197,0,24,2,1,15,23,21,0,0,1,2,27,0,119,0,34,0,1,4,0,0,1,2,26,0,119,0,31,0,1,21,72,4,3,4,15,21,82,21,4,0,1,23,128,0,20,21,21,23,85,4,21,0,25,4,15,4,82,2,4,0,120,2,9,0,1,21,0,0,1,23,0,5,94,23,15,23,135,4,197,0,5,4,1,15,21,23,0,0,1,2,27,0,119,0,14,0,106,23,2,8,38,23,23,1,120,23,4,0,1,4,0,0,1,2,26,0,119,0,8,0,1,21,24,0,2,24,0,0,173,255,2,0,135,23,5,0,15,21,24,8,1,4,0,0,1,2,26,0,33,23,2,26,121,23,5,0,32,23,2,27,121,23,3,0,34,23,4,0,120,23,14,1,1,23,252,4,97,15,23,4,1,23,68,5,3,2,15,23,82,23,2,0,120,23,12,0,82,4,12,0,121,4,10,0,1,23,128,0,94,4,4,23,121,4,7,0,135,8,143,0,4,0,0,0,85,2,8,0,120,8,3,0,1,4,208,255,119,0,253,0,1,23,80,5,3,2,15,23,82,23,2,0,120,23,12,0,82,4,12,0,121,4,10,0,1,23,132,0,94,4,4,23,121,4,7,0,135,8,143,0,4,0,0,0,85,2,8,0,120,8,3,0,1,4,208,255,119,0,238,0,1,23,8,5,3,4,15,23,82,2,4,0,25,8,15,4,121,2,16,0,82,24,8,0,82,24,24,0,1,21,44,0,135,23,198,0,24,2,21,0,34,23,23,1,121,23,9,0,116,9,4,0,1,21,16,0,2,24,0,0,243,254,2,0,135,23,5,0,15,21,24,9,1,4,228,255,119,0,218,0,1,23,232,4,3,4,15,23,82,24,12,0,82,21,4,0,106,22,4,4,135,23,162,0,24,21,22,0,135,23,2,0,82,4,8,0,106,23,4,8,38,23,23,2,121,23,7,0,135,23,199,0,1,0,0,0,120,23,3,0,1,4,228,255,119,0,201,0,82,4,8,0,1,23,40,4,3,1,15,23,1,23,0,0,85,1,23,0,2,22,0,0,0,0,0,128,109,1,4,22,1,22,48,4,3,1,15,22,1,22,0,0,85,1,22,0,2,23,0,0,0,0,0,128,109,1,4,23,106,4,4,36,1,23,0,0,47,23,23,4,80,21,1,0,135,4,92,0,4,0,0,0,25,2,15,12,85,2,4,0,120,4,3,0,1,4,208,255,119,0,175,0,82,23,8,0,106,5,23,20,121,5,10,0,85,4,5,0,82,22,2,0,135,23,200,0,22,0,0,0,82,23,2,0,135,4,195,0,23,16,0,0,34,23,4,0,120,23,163,0,82,4,12,0,121,4,9,0,1,22,12,5,94,22,15,22,25,22,22,96,2,21,0,0,55,18,3,0,134,23,0,0,248,46,1,0,4,22,21,14,1,23,72,4,3,7,15,23,82,23,7,0,2,21,0,0,0,0,2,0,19,23,23,21,120,23,9,0,82,23,8,0,106,4,23,44,121,4,6,0,38,23,4,127,135,4,201,0,23,15,0,0,34,23,4,0,120,23,138,0,1,23,140,4,3,4,15,23,1,23,12,5,3,6,15,23,82,23,6,0,25,2,23,96,82,5,2,0,82,23,4,0,120,23,5,0,85,4,5,0,1,23,0,0,85,2,23,0,119,0,23,0,121,5,22,0,1,23,156,4,3,1,15,23,82,21,1,0,43,21,21,14,38,21,21,8,40,21,21,24,2,22,0,0,254,255,2,0,135,23,5,0,15,21,22,10,82,22,6,0,25,22,22,96,135,23,79,0,22,0,0,0,82,23,1,0,38,23,23,8,121,23,5,0,2,16,0,0,183,177,187,190,137,17,0,0,139,16,0,0,82,23,14,0,121,23,38,0,82,23,8,0,82,4,23,0,135,23,19,0,4,18,0,0,121,23,21,0,135,23,19,0,4,19,0,0,120,23,2,0,119,0,17,0,135,23,19,0,4,20,0,0,120,23,2,0,119,0,13,0,2,22,0,0,58,0,3,0,135,23,19,0,4,22,0,0,120,23,2,0,119,0,7,0,1,22,48,0,2,21,0,0,62,0,3,0,135,23,5,0,15,22,21,11,119,0,13,0,135,4,202,0,15,14,0,0,34,23,4,0,120,23,72,0,135,4,203,0,15,14,0,0,34,23,4,0,120,23,68,0,135,4,204,0,15,14,0,0,34,23,4,0,120,23,64,0,135,23,205,0,14,0,0,0,135,4,206,0,15,0,0,0,1,23,0,0,49,23,23,4,216,23,1,0,82,23,7,0,2,21,0,0,0,0,2,0,19,23,23,21,120,23,23,0,82,4,12,0,120,4,2,0,119,0,20,0,82,23,6,0,25,14,23,16,82,23,14,0,32,23,23,0,106,21,14,4,32,21,21,0,19,23,23,21,120,23,2,0,119,0,11,0,1,23,0,0,1,21,0,0,1,22,1,0,135,11,33,0,4,23,21,22,135,12,2,0,82,22,6,0,25,14,22,16,85,14,11,0,109,14,4,12,82,22,6,0,2,21,0,0,160,37,38,0,109,22,40,21,135,21,185,0,15,0,0,0,106,2,15,24,121,2,14,0,106,5,15,28,1,4,0,0,41,21,4,2,94,14,5,21,1,21,184,2,94,21,14,21,1,22,176,0,94,22,14,22,106,22,22,4,109,21,24,22,25,4,4,1,55,22,4,2,140,23,1,0,121,13,4,0,135,22,79,0,3,0,0,0,116,3,16,0,85,0,15,0,1,16,0,0,137,17,0,0,139,16,0,0,135,22,205,0,14,0,0,0,135,22,79,0,16,0,0,0,82,22,12,0,121,22,8,0,1,22,72,4,94,22,15,22,1,21,128,0,19,22,22,21],eb+61440);HEAPU8.set([120,22,3,0,135,22,207,0,12,0,0,0,135,22,208,0,15,0,0,0,1,22,0,0,85,0,22,0,0,16,4,0,137,17,0,0,139,16,0,0,140,2,23,0,0,0,0,0,136,18,0,0,0,6,18,0,136,18,0,0,1,19,192,0,3,18,18,19,137,18,0,0,25,8,6,40,25,7,6,16,25,4,6,8,0,3,6,0,25,6,6,56,1,19,12,0,135,18,209,0,19,0,0,0,2,19,0,0,164,26,2,0,82,19,19,0,1,20,0,0,1,21,2,0,1,22,0,0,135,18,210,0,19,20,21,22,1,22,1,0,135,18,211,0,22,0,0,0,1,22,0,4,135,18,212,0,0,1,22,0,1,18,1,0,47,18,18,0,236,24,1,0,25,2,1,4,82,22,2,0,2,21,0,0,34,134,2,0,135,18,19,0,22,21,0,0,120,18,10,0,2,18,0,0,184,224,9,0,1,21,1,0,85,18,21,0,1,18,4,0,135,21,213,0,18,0,0,0,26,0,0,1,0,1,2,0,1,18,0,4,135,21,214,0,0,1,18,0,134,21,0,0,196,41,1,0,0,1,0,0,34,21,21,0,121,21,4,0,1,18,1,0,135,21,13,0,18,0,0,0,2,21,0,0,100,224,9,0,82,2,21,0,34,1,2,1,2,21,0,0,84,224,9,0,82,21,21,0,32,21,21,0,19,21,1,21,121,21,14,0,135,21,215,0,2,21,0,0,208,124,3,0,85,3,21,0,1,18,0,0,1,22,24,0,2,20,0,0,37,134,2,0,135,21,5,0,18,22,20,3,1,20,1,0,135,21,13,0,20,0,0,0,121,1,10,0,1,20,0,0,1,22,8,0,2,18,0,0,92,134,2,0,135,21,5,0,20,22,18,4,1,18,1,0,135,21,13,0,18,0,0,0,2,21,0,0,96,224,9,0,82,0,21,0,1,1,0,0,41,18,1,2,94,18,0,18,82,18,18,0,106,18,18,8,82,18,18,0,2,22,0,0,136,134,2,0,135,21,19,0,18,22,0,0,121,21,5,0,2,21,0,0,124,8,2,0,1,22,0,0,85,21,22,0,25,1,1,1,53,22,1,2,172,25,1,0,135,1,1,0,135,0,2,0,1,21,0,0,135,22,216,0,21,6,0,0,82,9,6,0,34,22,9,0,41,22,22,31,42,22,22,31,2,21,0,0,64,66,15,0,1,18,0,0,135,9,89,0,9,22,21,18,135,3,2,0,106,2,6,4,34,18,2,0,41,18,18,31,42,18,18,31,135,2,44,0,9,3,2,18,135,3,2,0,106,9,6,8,34,18,9,0,41,18,18,31,42,18,18,31,2,21,0,0,64,66,15,0,1,22,0,0,135,9,89,0,9,18,21,22,135,5,2,0,106,4,6,12,34,22,4,0,41,22,22,31,42,22,22,31,135,4,44,0,9,5,4,22,135,5,2,0,2,9,0,0,128,223,9,0,85,9,1,0,109,9,4,0,2,9,0,0,136,223,9,0,85,9,2,0,109,9,4,3,2,9,0,0,144,223,9,0,85,9,4,0,109,9,4,5,134,22,0,0,0,0,0,0,34,22,22,0,121,22,4,0,1,21,1,0,135,22,13,0,21,0,0,0,2,22,0,0,180,223,9,0,82,22,22,0,121,22,97,0,135,12,1,0,135,11,2,0,1,21,0,0,135,22,216,0,21,6,0,0,82,16,6,0,34,22,16,0,41,22,22,31,42,22,22,31,2,21,0,0,64,66,15,0,1,18,0,0,135,16,89,0,16,22,21,18,135,13,2,0,106,14,6,4,34,18,14,0,41,18,18,31,42,18,18,31,135,14,44,0,16,13,14,18,135,13,2,0,106,16,6,8,34,18,16,0,41,18,18,31,42,18,18,31,2,21,0,0,64,66,15,0,1,22,0,0,135,16,89,0,16,18,21,22,135,15,2,0,106,9,6,12,34,22,9,0,41,22,22,31,42,22,22,31,135,9,44,0,16,15,9,22,135,6,2,0,2,15,0,0,128,223,9,0,85,15,12,0,109,15,4,11,2,15,0,0,136,223,9,0,85,15,14,0,109,15,4,13,2,15,0,0,144,223,9,0,85,15,9,0,109,15,4,6,135,2,20,0,14,13,2,3,135,3,2,0,135,6,20,0,9,6,4,5,135,9,2,0,135,5,20,0,12,11,1,0,77,22,5,0,61,21,0,0,0,0,128,79,135,18,2,0,76,18,18,0,65,21,21,18,63,22,22,21,60,21,0,0,64,66,15,0,66,10,22,21,77,21,2,0,61,22,0,0,0,0,128,79,76,18,3,0,65,22,22,18,63,21,21,22,60,22,0,0,64,66,15,0,66,21,21,22,87,7,21,0,77,22,6,0,61,18,0,0,0,0,128,79,76,20,9,0,65,18,18,20,63,22,22,18,60,18,0,0,64,66,15,0,66,22,22,18,111,7,8,22,111,7,16,10,1,21,0,0,1,18,32,0,2,20,0,0,140,134,2,0,135,22,5,0,21,18,20,7,2,12,0,0,240,21,4,0,106,13,12,4,2,16,0,0,248,21,4,0,82,15,16,0,106,16,16,4,0,14,8,0,116,14,12,0,109,14,4,13,25,14,8,8,85,14,15,0,109,14,4,16,1,20,0,0,1,18,48,0,2,21,0,0,187,134,2,0,135,22,5,0,20,18,21,8,2,14,0,0,240,21,4,0,2,16,0,0,248,21,4,0,82,15,16,0,106,16,16,4,82,22,14,0,106,21,14,4,135,14,44,0,15,16,22,21,77,21,14,0,61,22,0,0,0,0,128,79,135,18,2,0,76,18,18,0,65,22,22,18,63,17,21,22,145,17,17,0,2,18,0,0,24,8,2,0,88,21,18,0,145,21,21,0,65,22,21,17,145,22,22,0,77,18,15,0,61,20,0,0,0,0,128,79,76,19,16,0,65,20,20,19,63,21,18,20,145,21,21,0,71,22,22,21,121,22,5,0,1,21,69,0,135,22,13,0,21,0,0,0,119,0,15,0,2,20,0,0,104,224,9,0,82,20,20,0,32,20,20,0,121,20,6,0,2,20,0,0,192,224,9,0,82,20,20,0,0,21,20,0,119,0,3,0,1,20,255,0,0,21,20,0,135,22,13,0,21,0,0,0,1,22,0,0,139,22,0,0,140,3,29,0,0,0,0,0,2,24,0,0,187,176,185,223,1,19,0,0,136,25,0,0,0,20,25,0,136,25,0,0,25,25,25,16,137,25,0,0,0,18,20,0,1,25,0,0,47,25,25,2,48,32,1,0,25,12,0,16,25,13,0,12,25,14,0,96,25,15,0,52,25,16,0,8,25,17,0,68,25,6,0,24,25,7,0,20,25,8,0,40,25,9,0,104,25,10,0,4,25,11,0,56,82,4,13,0,0,3,2,0,0,5,1,0,0,1,4,0,82,25,12,0,4,1,25,1,15,25,3,1,125,1,25,3,1,0,0,0,120,1,3,0,1,19,5,0,119,0,14,0,82,25,15,0,120,25,11,0,135,25,52,0,5,4,1,0,82,25,13,0,3,21,25,1,85,13,21,0,4,3,3,1,3,5,5,1,0,4,21,0,0,1,21,0,119,0,2,0,1,19,5,0,32,25,19,5,121,25,92,0,1,19,0,0,82,25,14,0,120,25,6,0,82,25,16,0,47,25,25,3,120,30,1,0,1,19,7,0,119,0,2,0,1,19,7,0,32,25,19,7,121,25,73,0,1,19,0,0,82,25,17,0,120,25,70,0,82,1,6,0,120,1,4,0,1,1,228,255,1,19,14,0,119,0,76,0,38,25,1,127,82,26,7,0,135,1,217,0,25,26,5,3,34,25,1,0,121,25,10,0,2,25,0,0,187,176,185,223,1,26,1,0,138,1,25,26,220,30,1,0,1,19,13,0,119,0,15,0,1,19,12,0,119,0,61,0,1,25,0,0,1,26,1,0,138,1,25,26,252,30,1,0,1,19,13,0,119,0,7,0,119,0,1,0,82,25,11,0,120,25,3,0,1,19,11,0,119,0,50,0,1,1,0,0,32,25,19,13,121,25,6,0,1,19,0,0,34,25,1,0,121,25,3,0,1,19,14,0,119,0,42,0,34,25,1,0,41,25,25,31,42,25,25,31,0,22,25,0,0,23,8,0,82,25,23,0,106,26,23,4,135,23,44,0,25,26,1,22,135,21,2,0,0,4,8,0,85,4,23,0,109,4,4,21,0,4,9,0,82,26,4,0,106,25,4,4,135,22,44,0,26,25,1,22,135,4,2,0,0,21,9,0,85,21,22,0,109,21,4,4,82,21,10,0,85,13,21,0,85,12,21,0,4,3,3,1,3,5,5,1,0,4,21,0,0,1,21,0,119,0,9,0,134,25,0,0,152,32,1,0,0,0,0,0,82,1,13,0,82,25,12,0,52,25,25,1,212,31,1,0,0,4,1,0,1,25,0,0,54,25,25,3,0,30,1,0,32,25,19,11,121,25,9,0,1,26,0,0,1,27,24,0,2,28,0,0,148,208,2,0,135,25,5,0,26,27,28,18,1,19,12,0,119,0,6,0,32,25,19,14,121,25,4,0,1,28,1,0,109,0,48,28,109,0,72,1,32,28,19,12,121,28,3,0,1,25,1,0,109,0,48,25,45,25,3,2,44,32,1,0,1,19,20,0,119,0,3,0,0,3,2,0,1,19,20,0,32,25,19,20,121,25,20,0,106,1,0,72,121,1,4,0,0,23,1,0,137,20,0,0,139,23,0,0,25,1,0,48,82,25,1,0,121,25,12,0,1,25,0,0,85,1,25,0,134,25,0,0,152,32,1,0,0,0,0,0,82,25,1,0,121,25,5,0,2,23,0,0,187,176,185,223,137,20,0,0,139,23,0,0,4,23,2,3,137,20,0,0,139,23,0,0,140,1,28,0,0,0,0,0,2,22,0,0,148,208,2,0,2,23,0,0,187,176,185,223,1,20,0,0,136,24,0,0,0,21,24,0,136,24,0,0,25,24,24,16,137,24,0,0,25,17,21,8,0,13,21,0,25,16,0,56,82,2,16,0,25,19,0,16,82,9,19,0,25,14,0,4,82,5,14,0,0,10,9,0,0,4,5,0,25,12,0,8,82,3,12,0,32,25,2,0,2,26,0,0,0,128,0,0,125,24,25,26,2,0,0,0,3,24,24,10,4,24,24,4,15,24,24,3,125,2,24,9,5,0,0,0,4,24,4,2,3,3,24,3,25,15,0,24,82,1,15,0,120,1,6,0,106,24,0,12,50,24,9,24,72,33,1,0,1,26,1,0,109,0,48,26,25,18,0,48,82,26,18,0,121,26,3,0,137,21,0,0,139,0,0,0,106,6,0,68,13,26,2,5,33,24,6,0,19,26,26,24,121,26,18,0,25,11,0,64,82,7,11,0,25,8,0,60,48,26,7,9,168,33,1,0,38,24,6,127,82,25,8,0,4,27,10,7,135,26,217,0,24,25,7,27,85,8,26,0,82,4,14,0,82,1,15,0,0,5,4,0,85,11,4,0,0,4,5,0,119,0,2,0,0,4,5,0,120,1,3,0,1,1,228,255,119,0,129,0,25,5,0,120,82,6,5,0,121,6,57,0,47,24,3,6,228,33,1,0,1,24,1,0,0,26,24,0,119,0,4,0,82,24,12,0,17,24,24,6,0,26,24,0,120,26,48,0,45,26,2,4,172,34,1,0,25,3,0,12,82,26,3,0,45,26,26,2,20,34,1,0,0,3,6,0,119,0,40,0,135,2,123,0,6,0,0,0,120,2,9,0,1,24,24,0,2,27,0,0,116,208,2,0,135,26,5,0,0,24,27,13,82,3,5,0,82,2,14,0,119,0,23,0,82,27,14,0,135,26,105,0,27,0,0,0,85,14,2,0,85,12,6,0,85,5,6,0,1,26,176,0,97,0,26,2,85,3,2,0,25,3,0,52,82,26,3,0,32,14,26,0,121,14,3,0,0,26,2,0,119,0,3,0,3,27,2,6,0,26,27,0,85,19,26,0,40,26,14,1,38,26,26,1,85,3,26,0,0,3,6,0,109,0,64,2,82,1,15,0,120,1,4,0,1,1,228,255,119,0,71,0,0,3,6,0,38,26,1,127,106,27,0,20,135,1,217,0,26,27,2,3,34,26,1,0,121,26,10,0,2,26,0,0,187,176,185,223,1,27,1,0,138,1,26,27,228,34,1,0,1,20,22,0,119,0,19,0,1,20,21,0,119,0,17,0,1,26,0,0,1,27,1,0,138,1,26,27,4,35,1,0,1,20,22,0,119,0,11,0,119,0,1,0,82,26,16,0,120,26,7,0,1,27,0,0,1,24,24,0,135,26,5,0,27,24,22,17,1,20,21,0,119,0,2,0,1,1,0,0,32,26,20,21,121,26,6,0,1,26,1,0,85,18,26,0,137,21,0,0,139,0,0,0,119,0,5,0,32,26,20,22,121,26,3,0,34,26,1,0,120,26,28,0,34,26,1,0,41,26,26,31,42,26,26,31,0,20,26,0,25,18,0,40,0,16,18,0,82,26,16,0,106,24,16,4,135,16,44,0,26,24,1,20,135,17,2,0,85,18,16,0,109,18,4,17,109,0,12,2,3,24,2,1,85,19,24,0,25,0,0,104,0,19,0,0,82,24,19,0,106,26,19,4,135,19,44,0,24,26,1,20,135,20,2,0,85,0,19,0,109,0,4,20,137,21,0,0,139,0,0,0,1,26,1,0,85,18,26,0,109,0,72,1,137,21,0,0,139,0,0,0,140,3,39,0,0,0,0,0,2,31,0,0,8,64,0,0,2,32,0,0,0,128,0,0,2,33,0,0,255,255,255,127,2,34,0,0,0,0,0,128,136,35,0,0,0,30,35,0,136,35,0,0,1,36,48,2,3,35,35,36,137,35,0,0,1,35,32,2,3,26,30,35,1,35,24,2,3,29,30,35,1,35,16,2,3,27,30,35,1,35,8,2,3,28,30,35,0,23,30,0,25,24,0,8,82,35,24,0,36,35,35,0,121,35,4,0,1,29,0,0,137,30,0,0,139,29,0,0,25,20,0,4,1,35,200,0,3,21,23,35,1,35,220,0,3,22,23,35,25,9,23,8,25,10,23,16,1,35,192,0,3,11,23,35,1,35,208,0,3,12,23,35,1,35,188,0,3,13,23,35,25,14,23,96,1,35,156,0,3,15,23,35,1,35,152,0,3,16,23,35,1,35,160,0,3,17,23,35,1,35,248,0,3,18,23,35,1,35,180,0,3,19,23,35,1,8,0,0,82,25,20,0,27,35,8,36,3,25,25,35,0,0,25,0,1,36,0,0,1,37,8,2,135,35,0,0,23,36,37,0,0,4,21,0,1,35,255,255,85,4,35,0,109,4,4,33,62,35,0,0,239,33,245,95,102,102,230,63,145,35,35,0,89,22,35,0,0,4,9,0,1,35,0,0,85,4,35,0,109,4,4,34,0,4,10,0,1,35,0,0,85,4,35,0,109,4,4,34,0,4,11,0,1,35,255,255,85,4,35,0,109,4,4,33,0,4,12,0,1,35,255,255,85,4,35,0,1,37,255,255,109,4,4,37,85,13,33,0,1,37,1,0,85,14,37,0,85,23,0,0,135,0,218,0,23,0,0,0,25,25,25,4,82,4,25,0,34,37,0,0,121,37,3,0,1,3,4,0,119,0,99,0,85,27,1,0,109,27,4,4,1,35,0,0,1,36,48,0,2,38,0,0,130,86,2,0,135,37,5,0,35,36,38,27,38,37,2,63,82,38,25,0,135,0,158,0,37,23,38,0,1,5,0,4,106,37,5,8,3,6,23,37,25,7,5,4,82,3,7,0,19,37,3,32,120,37,7,0,19,37,3,31,45,37,37,31,212,37,1,0,135,37,73,0,6,0,0,0,119,0,29,0,25,4,6,4,1,37,0,0,82,38,4,0,47,37,37,38,56,38,1,0,1,3,0,0,82,38,6,0,41,36,3,4,3,38,38,36,135,37,73,0,38,0,0,0,82,37,7,0,38,37,37,8,121,37,7,0,82,38,6,0,41,36,3,4,3,38,38,36,25,38,38,8,135,37,73,0,38,0,0,0,25,3,3,1,82,37,4,0,54,37,3,37,240,37,1,0,135,37,73,0,6,0,0,0,1,37,0,0,85,4,37,0,25,5,5,20,82,37,5,0,33,37,37,0,120,37,213,255,1,37,0,0,82,38,15,0,47,37,37,38,148,38,1,0,1,3,0,0,82,38,16,0,27,36,3,24,3,38,38,36,25,38,38,20,135,37,73,0,38,0,0,0,25,3,3,1,82,37,15,0,54,37,3,37,108,38,1,0,135,37,73,0,16,0,0,0,135,37,73,0,17,0,0,0,135,37,73,0,18,0,0,0,135,37,73,0,19,0,0,0,34,37,0,0,121,37,3,0,1,3,20,0,119,0,15,0,1,38,0,0,1,36,48,0,2,35,0,0,182,86,2,0,135,37,5,0,38,36,35,26,25,8,8,1,82,37,24,0,49,37,37,8,248,38,1,0,1,0,0,0,1,3,23,0,119,0,2,0,119,0,113,255,32,37,3,4,121,37,10,0,85,28,1,0,109,28,4,4,1,35,0,0,1,36,16,0,2,38,0,0,91,86,2,0,135,37,5,0,35,36,38,28,119,0,17,0,32,37,3,20,121,37,11,0,82,28,25,0,85,29,1,0,109,29,4,28,1,38,0,0,1,36,16,0,2,35,0,0,155,86,2,0,135,37,5,0,38,36,35,29,119,0,5,0,32,37,3,23,121,37,3,0,137,30,0,0,139,0,0,0,0,29,0,0,137,30,0,0,139,29,0,0,140,3,22,0,0,0,0,0,2,16,0,0,187,176,185,223,2,17,0,0,232,3,0,0,2,18,0,0,187,167,182,171,1,15,0,0,25,14,0,16,82,19,14,0,38,19,19,1,120,19,3,0,1,15,227,255,139,15,0,0,106,19,0,4,106,10,19,20,25,11,0,32,25,12,0,36,25,13,0,40,1,7,5,0,1,9,0,0,1,5,0,0,1,8,0,0,3,4,1,9,4,6,2,9,82,3,11,0,121,3,10,0,38,20,3,127,82,21,12,0,135,19,201,0,20,21,0,0,121,19,5,0,2,3,0,0,187,167,182,171,1,15,18,0,119,0,99,0,38,19,10,127,135,3,217,0,19,0,4,6,32,19,3,229,120,19,241,255,82,19,14,0,38,19,19,8,121,19,3,0,1,15,18,0,119,0,89,0,34,19,3,250,121,19,10,0,2,19,0,0,187,176,185,223,1,20,1,0,138,3,19,20,84,40,1,0,1,15,16,0,119,0,52,0,1,15,15,0,119,0,78,0,1,19,250,255,1,20,1,0,138,3,19,20,116,40,1,0,1,15,16,0,119,0,44,0,119,0,1,0,121,7,5,0,1,3,0,0,26,7,7,1,0,4,8,0,119,0,38,0,0,7,13,0,82,19,7,0,32,19,19,0,106,20,7,4,32,20,20,0,19,19,19,20,121,19,3,0,0,4,8,0,119,0,25,0,135,3,1,0,135,4,2,0,32,19,5,0,32,20,8,0,19,19,19,20,121,19,3,0,0,5,3,0,119,0,17,0,0,7,13,0,82,19,7,0,106,20,7,4,135,7,44,0,19,20,5,8,135,6,2,0,15,20,6,4,13,19,4,6,16,21,7,3,19,19,19,21,20,20,20,19,121,20,4,0,1,3,227,255,1,15,18,0,119,0,34,0,0,4,8,0,135,20,35,0,17,0,0,0,1,3,0,0,1,7,0,0,32,20,15,16,121,20,7,0,1,15,0,0,34,20,3,0,121,20,3,0,1,15,18,0,119,0,22,0,0,4,8,0,32,6,3,0,3,3,3,9,34,20,3,1,121,20,15,0,1,20,2,0,15,20,20,7,20,20,6,20,1,19,2,0,125,7,20,7,19,0,0,0,0,9,3,0,1,19,0,0,125,5,6,5,19,0,0,0,1,19,0,0,125,8,6,4,19,0,0,0,119,0,148,255,1,15,18,0,119,0,1,0,32,19,15,15,121,19,7,0,1,19,0,0,15,19,19,9,125,15,19,9,16,0,0,0,139,15,0,0,119,0,4,0,32,19,15,18,121,19,2,0,139,3,0,0,1,19,0,0,139,19,0,0,140,2,20,0,0,0,0,0,2,13,0,0,29,120,2,0,2,14,0,0,28,120,2,0,2,15,0,0,186,69,2,0,136,16,0,0,0,12,16,0,136,16,0,0,1,17,0,1,3,16,16,17,137,16,0,0,1,16,168,0,3,11,12,16,1,16,160,0,3,8,12,16,1,16,152,0,3,7,12,16,1,16,144,0,3,6,12,16,1,16,136,0,3,5,12,16,1,16,128,0,3,4,12,16,1,16,176,0,3,9,12,16,0,10,12,0,0,2,9,0,25,3,2,80,1,16,0,0,85,2,16,0,25,2,2,4,54,16,2,3,64,42,1,0,1,16,0,4,1,17,64,18,1,18,2,0,135,0,219,0,9,0,1,16,17,18,0,0,34,18,0,0,121,18,8,0,1,17,0,0,1,16,8,0,2,19,0,0,85,69,2,0,135,18,5,0,17,16,19,4,119,0,82,0,1,18,0,0,135,0,218,0,18,9,0,0,34,18,0,0,121,18,8,0,1,19,0,0,1,16,8,0,2,17,0,0,121,69,2,0,135,18,5,0,19,16,17,5,119,0,70,0,135,18,220,0,25,2,9,36,82,18,2,0,25,18,18,12,2,17,0,0,152,69,2,0,1,16,30,0,134,0,0,0,216,35,1,0,18,17,16,0,34,16,0,0,121,16,8,0,1,17,0,0,1,18,8,0,2,19,0,0,158,69,2,0,135,16,5,0,17,18,19,6,119,0,51,0,1,16,0,0,2,19,0,0,116,224,9,0,82,19,19,0,47,16,16,19,124,43,1,0,1,1,0,0,2,16,0,0,112,224,9,0,82,16,16,0,41,19,1,2,94,16,16,19,135,0,221,0,16,0,0,0,25,1,1,1,34,16,0,0,120,16,7,0,2,16,0,0,116,224,9,0,82,16,16,0,56,16,16,1,124,43,1,0,119,0,241,255,1,19,0,0,1,18,8,0,135,16,5,0,19,18,15,7,119,0,23,0,82,16,2,0,2,18,0,0,223,69,2,0,1,19,31,0,134,0,0,0,216,35,1,0,16,18,19,0,34,19,0,0,121,19,8,0,1,18,0,0,1,16,8,0,2,17,0,0,230,69,2,0,135,19,5,0,18,16,17,8,119,0,7,0,135,19,222,0,135,19,223,0,9,0,0,0,0,11,0,0,137,12,0,0,139,11,0,0,135,19,223,0,9,0,0,0,1,17,128,0,135,19,11,0,0,10,17,0,85,11,10,0,1,17,0,0,1,16,8,0,2,18,0,0,227,136,2,0,135,19,5,0,17,16,18,11,0,11,0,0,137,12,0,0,139,11,0,0,140,3,19,0,0,0,0,0,2,14,0,0,128,240,250,2,1,11,0,0,25,8,1,56,0,10,8,0,82,9,10,0,106,10,10,4,25,12,1,28,82,13,12,0,25,6,0,88,25,7,1,24,0,5,2,0,0,4,13,0,2,15,0,0,64,75,76,0,47,15,15,5,144,44,1,0,135,3,224,0,0,5,0,0,106,16,6,4,34,16,16,0,121,16,6,0,15,17,3,14,125,16,17,3,14,0,0,0,0,15,16,0,119,0,2,0,0,15,3,0,0,3,15,0,119,0,2,0,0,3,5,0,135,2,225,0,1,3,0,0,34,15,2,0,121,15,3,0,1,11,7,0,119,0,16,0,82,15,7,0,3,15,15,4,134,2,0,0,136,29,1,0,0,15,3,0,46,15,2,3,208,44,1,0,1,11,6,0,119,0,7,0,4,2,5,3,36,15,2,0,120,15,4,0,0,5,2,0,82,4,12,0,119,0,218,255,32,15,11,6,121,15,10,0,1,17,0,0,15,17,17,2,1,18,0,0,125,16,17,2,18,0,0,0,3,16,16,4,135,15,226,0,1,16,0,0,1,11,7,0,32,15,11,7,121,15,11,0,1,15,0,0,47,15,15,5,64,45,1,0,25,3,1,36,82,15,3,0,39,15,15,2,85,3,15,0,0,3,2,0,119,0,2,0,0,3,2,0,0,2,8,0,85,2,9,0,109,2,4,10,82,2,12,0,121,2,7,0,0,1,2,0,15,12,13,1,4,13,1,13,125,13,12,13,3,0,0,0,139,13,0,0,135,15,60,0,1,0,0,0,82,1,12,0,15,12,13,1,4,13,1,13,125,13,12,13,3,0,0,0,139,13,0,0,140,3,7,0,0,0,0,0,106,3,0,8,106,0,3,12,15,4,0,2,125,0,4,0,2,0,0,0,106,2,3,4,120,2,4,0,135,0,227,0,1,0,0,0,119,0,3,0,135,0,22,0,2,1,0,0,1,5,255,255,1,6,2,0,138,0,5,6,232,45,1,0,0,46,1,0,0,3,0,0,139,3,0,0,119,0,16,0,1,6,0,0,135,5,78,0,82,5,5,0,4,3,6,5,139,3,0,0,119,0,248,255,106,4,3,16,32,4,4,0,2,5,0,0,187,176,185,223,1,6,250,255,125,3,4,5,6,0,0,0,139,3,0,0,119,0,242,255,1,5,0,0,139,5,0,0,140,2,9,0,0,0,0,0,1,5,64,4,3,4,0,5,106,5,0,16,82,6,4,0,134,0,0,0,164,46,1,0,5,1,6,0,25,3,1,56,82,6,3,0,106,5,3,4,82,7,4,0,1,8,0,0,135,4,90,0,6,5,7,8,135,3,2,0,25,2,1,16,85,2,4,0,109,2,4,3,25,2,1,8,85,2,4,0,109,2,4,3,1,7,0,0,109,1,32,7,34,8,0,0,1,5,0,0,125,7,8,0,5,0,0,0,139,7,0,0,140,3,9,0,0,0,0,0,135,6,63,0,1,0,0,0,1,7,0,0,109,1,24,7,1,6,0,0,109,1,28,6,1,6,0,0,1,7,0,0,1,8,1,0,135,5,33,0,0,6,7,8,135,4,2,0,25,3,1,56,85,3,5,0,109,3,4,4,134,8,0,0,16,44,1,0,0,1,2,0,139,8,0,0,140,4,8,0,0,0,0,0,1,5,0,0,1,6,0,0,1,7,0,0,134,4,0,0,60,216,0,0,0,1,5,2,3,6,7,0,139,0,0,0,140,3,5,0,0,0,0,0,82,4,0,0,134,3,0,0,116,39,1,0,4,1,2,0,139,3,0,0,0,0,0,0],eb+71680);var relocations=[];relocations=relocations.concat([1140,1216,1288,1300,1332,1424,1448,1476,1488,1512,1564,1636,1660,1684,1836,2264,2396,2472,2520,2644,2704,2744,2824,2856,3008,3036,3048,3072,3168,3216,3264,3424,3508,3532,3556,3684,3908,4332,4400,4792,4944,4948,4952,4956,4960,4964,4968,4972,4976,4980,4984,4988,4992,4996,5e3,5004,5008,5012,5016,5020,5024,5028,5032,5036,5040,5044,5048,5052,5056,5060,5064,5068,5072,5076,5080,5084,5088,5092,5096,5100,5104,5108,5112,5116,5120,5124,5128,5132,5136,5140,5144,5148,5152,5156,5160,5164,5168,5172,5176,5180,5184,5188,5192,5196,5200,5204,5208,5212,5216,5220,5224,5228,5232,5256,5260,5388,5448,5508,5512,5516,5520,5628,5900,6028,6056,6112,6136,6360,6420,6480,6484,6488,6492,6648,6700,6756,6780,6832,7272,7348,7664,7688,7724,7980,8196,8232,8256,8328,8364,8408,8444,8516,8568,8596,8692,8772,8884,8928,9220,9240,9268,9388,9456,9472,9484,9540,9612,9780,9812,9884,9960,9992,10100,10204,10576,10632,10780,11072,11128,11168,11360,11392,11448,11508,11580,11612,11668,11792,11804,11820,11860,11904,11928,11976,12056,12384,12504,12660,12780,12932,13052,13220,13340,13504,13648,13952,14368,15096,16064,17148,18372,18568,18688,18852,18972,19136,19280,19544,19696,19836,19932,19980,20064,20120,20136,20204,20520,20668,20744,20756,20796,20864,20940,20968,20996,21024,21052,21120,21216,21240,21432,21588,21656,21804,21852,21856,21932,21936,22176,22348,22364,22416,22484,22560,22588,22656,22684,22836,22968,23052,23116,23228,23268,23348,23448,23596,23796,24872,24876,24880,24884,24960,25124,25128,25132,25136,25212,25312,25316,25320,25324,25468,25804,25924,26340,26368,26372,26376,26380,26384,26388,26392,26396,26400,26404,26408,26412,26416,26420,26424,26428,26432,26436,26440,26444,26448,26452,26456,26460,26464,26468,26472,26476,26480,26484,26488,26492,26496,26500,26504,26508,26512,26516,26520,26524,26528,26532,26536,26540,26544,26548,26552,26556,26560,26564,26568,26572,26576,26580,26584,26588,26592,26596,26600,26604,26608,26612,26616,26620,26624,26628,26632,26636,26640,26644,26648,26652,26656,26660,26664,26668,26672,26676,26680,26684,26688,26692,26696,26700,26704,26708,26712,26716,26720,26724,26728,26732,26736,26740,26744,26748,26752,26756,26760,26764,26768,26772,26776,26780,26784,26788,26792,26796,26800,26804,26808,26812,26816,26820,26824,26828,26832,26836,26840,26844,26848,26852,26856,26860,26864,26868,26872,26876,26880,26884,26888,26892,26896,26900,26904,26908,26912,26916,26920,26924,26928,26932,26936,26940,26944,26948,26952,26956,26960,26964,26968,26972,26976,26980,26984,26988,26992,26996,27e3,27004,27008,27012,27016,27020,27024,27028,27032,27036,27040,27044,27048,27052,27268,27420,27532,27564,27620,28040,28136,28568,28584,28604,28712,28936,29556,29956,30252,30284,30356,30436,30780,30836,30944,30980,31008,31084,31116,31256,31260,31264,31268,31368,31648,31680,31696,31724,31820,31860,32008,32056,32168,32280,32284,32364,32748,32816,32840,32868,33084,33128,33152,33180,33360,33800,33804,33808,33812,33816,33820,33824,33828,33904,34148,34624,34952,34956,34960,34964,34968,34972,34976,35792,35996,36028,36152,36316,36664,37128,37152,37248,37268,37532,37548,37624,37700,38036,38400,38648,38900,39140,39552,39592,39660,39768,40004,40052,40120,40228,40496,40728,40752,40772,40968,42524,42592,42660,42728,43480,43660,43700,43748,43868,43960,43996,44372,44772,44884,45504,45540,45596,45628,45664,45720,45736,45780,45836,45936,45976,46032,46108,46204,46240,46296,46312,46352,46404,46484,46620,46796,46800,46804,46808,46812,46816,46952,46992,47044,47112,47148,47204,47220,47260,47312,47496,47536,47588,47640,47680,47732,47812,47876,47912,47968,48020,48064,48120,48172,48224,48320,48348,48352,48356,48360,48364,48368,48372,48376,48380,48384,48388,48392,48396,48400,48404,48408,48412,48416,48420,48424,48428,48432,48436,48440,48444,48448,48452,48456,48460,48464,48468,48472,48476,48480,48484,48488,48492,48496,48500,48504,48508,48512,48516,48520,48524,48528,48532,48536,48540,48544,48548,48552,48556,48560,48564,48568,48572,48576,48580,48584,48588,48592,48596,48600,48604,48608,48612,48616,48620,48624,48628,48632,48636,48640,48644,48648,48652,48656,48660,48664,48668,48672,48676,48680,48684,48688,48692,48696,48700,48704,48708,48712,48716,48720,48724,48728,48732,48736,48740,48744,48748,48752,48756,48760,48764,48768,48772,48776,48780,48784,48788,48792,48796,48800,48804,48808,48812,48816,48820,48824,48828,48832,48836,48840,48844,48848,48852,48856,48860,48864,48868,48872,48876,48880,48884,48888,48892,48896,48900,48904,48908,48912,48916,48920,48924,48928,48932,48936,48940,48944,48948,48952,48956,48960,48964,48968,48972,48976,48980,48984,48988,48992,48996,49e3,49004,50228,50384,51084,51100,51124,51204,51260,51676,51760,51812,51836,51944,52408,52420,52432,52540,52592,52604,52628,52708,52756,52808,52828,52852,52916,52952,53004,53024,53048,53116,53120,53328,53472,53536,53548,53560,53620,54568,54572,54576,54580,55036,55296,55324,55952,55976,56304,56308,56312,56696,56780,57668,58008,58068,58128,58604,58936,59924,60136,60888,61096,61156,61324,61436,61744,61748,61752,61756,61760,61764,61852,62156,62180,62284,62740,62916,62980,63360,63504,63508,63528,63724,63868,64028,64140,64308,64608,64740,64916,65652,65668,65684,65700,65744,65784,65804,65848,65880,65896,65916,65960,66e3,66020,66056,66076,66120,66292,66404,67040,67060,67332,67352,67612,67632,67800,67860,67888,67924,68076,68120,68360,68744,69076,69264,69276,69380,70140,70912,71412,71604,71848,72172,73148,73328,73424,73456,73664,73680,73764,74044,74112,74196,74232,74248,74456,74488,75208,75240,75316,75364,75408,75496,75848,75880,76368,76576,76640,76888,76996,77092,77268,77272,9824,11372,27672,34932,43444,43944,55916,56728,57012,57328,57616,57996,58300,60704,65472,66820,66976,67124,67276,67404,67556,68060,68816,71024,71932,72384,73644,73836,76512,76688,76984,77384,77548,77584,77616]);for(var i=0;i<relocations.length;i++){HEAPU32[eb+relocations[i]>>2]=HEAPU32[eb+relocations[i]>>2]+eb}});function demangle(func){return func}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+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};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"]=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["_"]=thisProgram;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}function ___lock(){}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)}};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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("/")}};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=fs.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=[]}}}};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;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,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name]},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name]},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size},write:function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},allocate:function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;var fromHeap=buffer.buffer==HEAP8.buffer;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(48)}(fromHeap?HEAP8:buffer).set(contents,ptr)}return{ptr:ptr,allocated:allocated}},msync:function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var IDBFS={dbs:{},indexedDB:function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(mount){return MEMFS.mount.apply(null,arguments)},syncfs:function(mount,populate,callback){IDBFS.getLocalSet(mount,function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)})})},getDB:function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}};req.onsuccess=function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)};req.onerror=function(e){callback(this.error);e.preventDefault()}},getLocalSet:function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return function(p){return PATH.join2(root,p)}}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})},getRemoteSet:function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=function(e){callback(this.error);e.preventDefault()};var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()}}catch(e){return callback(e)}})},loadLocalEntry:function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}},storeLocalEntry:function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)},removeLocalEntry:function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)},loadRemoteEntry:function(store,path,callback){var req=store.get(path);req.onsuccess=function(event){callback(null,event.target.result)};req.onerror=function(e){callback(this.error);e.preventDefault()}},storeRemoteEntry:function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},removeRemoteEntry:function(store,path,callback){var req=store.delete(path);req.onsuccess=function(){callback(null)};req.onerror=function(e){callback(this.error);e.preventDefault()}},reconcile:function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach(function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}});var remove=[];Object.keys(dst.entries).forEach(function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}});if(!total){return callback(null)}var errored=false;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err&&!errored){errored=true;return callback(err)}}transaction.onerror=function(e){done(this.error);e.preventDefault()};transaction.oncomplete=function(e){if(!errored){callback(null)}};create.sort().forEach(function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)})}else{IDBFS.loadLocalEntry(path,function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)})}});remove.sort().reverse().forEach(function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}})}};var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var NODEFS={isWindows:false,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"]}},bufferFrom:function(arrayBuffer){return Buffer["alloc"]?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},convertNodeCode:function(e){var code=e.code;assert(code in ERRNO_CODES);return ERRNO_CODES[code]},mount:function(mount){assert(ENVIRONMENT_HAS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return stat.mode},realPath:function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(28)}},node_ops:{getattr:function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},lookup:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},unlink:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},rmdir:function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readdir:function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readlink:function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}},stream_ops:{open:function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},close:function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},read:function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},write:function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)});(mount.opts["blobs"]||[]).forEach(function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])});(mount.opts["packages"]||[]).forEach(function(pack){pack["metadata"].files.forEach(function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))})});return root},createNode:function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node},node_ops:{getattr:function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}},lookup:function(parent,name){throw new FS.ErrnoError(44)},mknod:function(parent,name,mode,dev){throw new FS.ErrnoError(63)},rename:function(oldNode,newDir,newName){throw new FS.ErrnoError(63)},unlink:function(parent,name){throw new FS.ErrnoError(63)},rmdir:function(parent,name){throw new FS.ErrnoError(63)},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newName,oldPath){throw new FS.ErrnoError(63)},readlink:function(node){throw new FS.ErrnoError(63)}},stream_ops:{read:function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size},write:function(stream,buffer,offset,length,position){throw new FS.ErrnoError(29)},llseek:function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(28)}return position}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)},lookupPath:function(path,opts){path=PATH_FS.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev:function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(10)}if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}},rmdir:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readdir:function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}},readlink:function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:function(path){return FS.stat(path,true)},chmod:function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:function(path,mode){FS.chmod(path,mode,true)},fchmod:function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path,uid,gid){FS.chown(path,uid,gid,true)},fchown:function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:function(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;console.log("FS.trackingDelegate error on read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream},close:function(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:function(stream){return stream.fd===null},llseek:function(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: "+e.message)}return bytesWritten},allocate:function(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:function(stream,buffer,offset,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)},msync:function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:function(stream){return 0},ioctl:function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:function(){return FS.currentPath},chdir:function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream,buffer,offset,length,pos){return length}});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);random_device=function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");random_device=function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}else{}if(!random_device){random_device=function(){abort("random_device")}}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream.path}}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");var stdout=FS.open("/dev/stdout","w");var stderr=FS.open("/dev/stderr","w")},ensureErrnoError:function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"})},staticInit:function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}},init:function(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}},getMode:function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},joinPath:function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path},absolutePath:function(relative,base){return PATH_FS.resolve(base,relative)},standardizePath:function(path){return PATH.normalize(path)},findObject:function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}},analyzePath:function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createFolder:function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)},createPath:function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:function(stream){stream.seekable=false},close:function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}},read:function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}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){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}if(length){stream.node.timestamp=Date.now()}return i}});return FS.mkdev(path,mode,dev)},createLink:function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(29);return success},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,function(){if(onerror)onerror();removeRunDependency(dep)});handled=true}});if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror)}else{processData(url)}},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){};onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}path=PATH.join2(dir,path)}return path},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret},doWritev:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(!fd)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[result>>2]=tempI64[0],HEAP32[result+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall196(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall220(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),dirp=SYSCALLS.get(),count=SYSCALLS.get();if(!stream.getdents){stream.getdents=FS.readdir(stream.path)}var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var idx=Math.floor(off/struct_size);while(idx<stream.getdents.length&&pos+struct_size<=count){var id;var type;var name=stream.getdents[idx];if(name[0]==="."){id=1;type=4}else{var child=FS.lookupNode(stream.node,name);id=child.id;type=FS.isChrdev(child.mode)?2:FS.isDir(child.mode)?4:FS.isLink(child.mode)?10:8}tempI64=[id>>>0,(tempDouble=id,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall38(which,varargs){SYSCALLS.varargs=varargs;try{var old_path=SYSCALLS.getStr(),new_path=SYSCALLS.getStr();FS.rename(old_path,new_path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall40(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.rmdir(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function _abort(){abort()}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return 0||ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||typeof performance==="object"&&performance&&typeof performance["now"]==="function"}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(28);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){var timeUntilNextTick=Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,timeUntilNextTick)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(typeof setImmediate==="undefined"){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";var Browser_setImmediate_messageHandler=function(event){if(event.data===emscriptenMainLoopMessageId||event.data.target===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}};addEventListener("message",Browser_setImmediate_messageHandler,true);setImmediate=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);postMessage({target:emscriptenMainLoopMessageId})}else postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){setImmediate(Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var browserIterationFunc;if(typeof arg!=="undefined"){browserIterationFunc=function(){Module["dynCall_vi"](func,arg)}}else{browserIterationFunc=function(){Module["dynCall_v"](func)}}var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else if(Browser.mainLoop.timingMode==0){Browser.mainLoop.tickStartTime=_emscripten_get_now()}if(Browser.mainLoop.method==="timeout"&&Module.ctx){err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter(browserIterationFunc);if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()},updateStatus:function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}},runIter:function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)err("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()}},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([new Uint8Array(byteArray).buffer],{type:Browser.getMimetype(name)})}}catch(e){warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append(new Uint8Array(byteArray).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",function(){finish(audio)},false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout(function(){finish(audio)},1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===Module["canvas"]||document["mozPointerLockElement"]===Module["canvas"]||document["webkitPointerLockElement"]===Module["canvas"]||document["msPointerLockElement"]===Module["canvas"]}var canvas=Module["canvas"];if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||function(){};canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||function(){};canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",function(ev){if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},createContext:function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false,majorVersion:1};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}if(typeof GL!=="undefined"){contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}}}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});Browser.init()}return ctx},destroyContext:function(canvas,useWebGL,setInModule){},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullscreenChange(){Browser.isFullscreen=false;var canvasContainer=canvas.parentNode;if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.exitFullscreen=Browser.exitFullscreen;if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas){Browser.setFullscreenCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas){Browser.setWindowedCanvasSize()}else{Browser.updateCanvasDimensions(canvas)}}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen)}if(!Browser.fullscreenHandlersInstalled){Browser.fullscreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullscreenChange,false);document.addEventListener("mozfullscreenchange",fullscreenChange,false);document.addEventListener("webkitfullscreenchange",fullscreenChange,false);document.addEventListener("MSFullscreenChange",fullscreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen=canvasContainer["requestFullscreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullscreen"]?function(){canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null)||(canvasContainer["webkitRequestFullScreen"]?function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}:null);if(vrDevice){canvasContainer.requestFullscreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullscreen()}},requestFullScreen:function(lockPointer,resizeCanvas,vrDevice){err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen=function(lockPointer,resizeCanvas,vrDevice){return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};return Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)},exitFullscreen:function(){if(!Browser.isFullscreen){return false}var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||function(){};CFS.apply(document,[]);return true},nextRAF:0,fakeRequestAnimationFrame:function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){if(typeof requestAnimationFrame==="function"){requestAnimationFrame(func);return}var RAF=Browser.fakeRequestAnimationFrame;RAF(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=false},resumeAsyncCallbacks:function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach(function(func){func()})}},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}})},safeSetTimeout:function(func,timeout){noExitRuntime=true;return setTimeout(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}},timeout)},safeSetInterval:function(func,timeout){noExitRuntime=true;return setInterval(function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}},timeout)},getMimetype:function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]},getUserMedia:function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)},getMovementX:function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0},getMovementY:function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0},getMouseWheelDelta:function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail/3;break;case"mousewheel":delta=event.wheelDelta/120;break;case"wheel":delta=event.deltaY;switch(event.deltaMode){case 0:delta/=100;break;case 1:delta/=3;break;case 2:delta*=80;break;default:throw"unrecognized mouse wheel delta mode: "+event.deltaMode}break;default:throw"unrecognized mouse wheel event: "+event.type}return delta},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}},asyncLoad:function(url,onload,onerror,noRunDep){var dep=!noRunDep?getUniqueRunDependency("al "+url):"";readAsync(url,function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)},resizeListeners:[],updateResizeListeners:function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach(function(listener){listener(canvas.width,canvas.height)})},setCanvasSize:function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags|8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen>>2];flags=flags&~8388608;HEAP32[SDL.screen>>2]=flags}Browser.updateCanvasDimensions(Module["canvas"]);Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["fullscreenElement"]||document["mozFullScreenElement"]||document["msFullscreenElement"]||document["webkitFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}},wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle}};var EmterpreterAsync={initted:false,state:0,saveStack:"",yieldCallbacks:[],postAsync:null,restartFunc:null,asyncFinalizers:[],ensureInit:function(){if(this.initted)return;this.initted=true},setState:function(s){this.ensureInit();this.state=s;Module["setAsyncState"](s)},handle:function(doAsyncOp,yieldDuring){noExitRuntime=true;if(EmterpreterAsync.state===0){var stack=new Int32Array(HEAP32.subarray(EMTSTACKTOP>>2,Module["emtStackSave"]()>>2));var resumedCallbacksForYield=false;function resumeCallbacksForYield(){if(resumedCallbacksForYield)return;resumedCallbacksForYield=true;EmterpreterAsync.yieldCallbacks.forEach(function(func){func()});Browser.resumeAsyncCallbacks()}var callingDoAsyncOp=1;doAsyncOp(function resume(post){if(ABORT){return}if(callingDoAsyncOp){assert(callingDoAsyncOp===1);callingDoAsyncOp++;setTimeout(function(){resume(post)},0);return}assert(EmterpreterAsync.state===1||EmterpreterAsync.state===3);EmterpreterAsync.setState(3);if(yieldDuring){resumeCallbacksForYield()}HEAP32.set(stack,EMTSTACKTOP>>2);EmterpreterAsync.setState(2);if(Browser.mainLoop.func){Browser.mainLoop.resume()}assert(!EmterpreterAsync.postAsync);EmterpreterAsync.postAsync=post||null;var asyncReturnValue;if(!EmterpreterAsync.restartFunc){Module["emterpret"](stack[0])}else{asyncReturnValue=EmterpreterAsync.restartFunc()}if(!yieldDuring&&EmterpreterAsync.state===0){Browser.resumeAsyncCallbacks()}if(EmterpreterAsync.state===0){EmterpreterAsync.restartFunc=null;var asyncFinalizers=EmterpreterAsync.asyncFinalizers;EmterpreterAsync.asyncFinalizers=[];asyncFinalizers.forEach(function(func){func(asyncReturnValue)})}});callingDoAsyncOp=0;EmterpreterAsync.setState(1);if(Browser.mainLoop.func){Browser.mainLoop.pause()}if(yieldDuring){setTimeout(function(){resumeCallbacksForYield()},0)}else{Browser.pauseAsyncCallbacks()}}else{assert(EmterpreterAsync.state===2);EmterpreterAsync.setState(0);if(EmterpreterAsync.postAsync){var ret=EmterpreterAsync.postAsync();EmterpreterAsync.postAsync=null;return ret}}}};function _emscripten_binary_read(buf,size){return EmterpreterAsync.handle(function(resume){Module["stdinAsync"](size,function(data){var finalSize=Math.min(size,data.length);Module["HEAPU8"].set(data.subarray(0,finalSize),buf);resume(function(){return finalSize})})})}function _emscripten_binary_write(buf,size){Module["stdoutBinary"](Module["HEAPU8"].subarray(buf,buf+size));return size}function _emscripten_get_heap_size(){return HEAP8.length}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}function _exit(status){exit(status)}var _fabs=Math_abs;function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var ___tm_current=649200;var ___tm_timezone=(stringToUTF8("GMT",649248,4),649248);function _gmtime_r(time,tmPtr){var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();HEAP32[tmPtr+36>>2]=0;HEAP32[tmPtr+32>>2]=0;var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+40>>2]=___tm_timezone;return tmPtr}function _gmtime(time){return _gmtime_r(time,___tm_current)}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_exp2_f64(a0){return _llvm_exp2_f32(a0)}function _llvm_log10_f32(x){return Math.log(x)/Math.LN10}function _llvm_log10_f64(a0){return _llvm_log10_f32(a0)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var _llvm_trunc_f64=Math_trunc;function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[__get_tzname()>>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function _mktime(tmPtr){_tzset();var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3|0}function _usleep(useconds){var msec=useconds/1e3;if((ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]){var start=self["performance"]["now"]();while(self["performance"]["now"]()-start<msec){}}else{var start=Date.now();while(Date.now()-start<msec){}}return 0}function _nanosleep(rqtp,rmtp){if(rqtp===0){___setErrNo(28);return-1}var seconds=HEAP32[rqtp>>2];var nanoseconds=HEAP32[rqtp+4>>2];if(nanoseconds<0||nanoseconds>999999999||seconds<0){___setErrNo(28);return-1}if(rmtp!==0){HEAP32[rmtp>>2]=0;HEAP32[rmtp+4>>2]=0}return _usleep(seconds*1e6+nanoseconds/1e3)}var __sigalrm_handler=0;function _signal(sig,func){if(sig==14){__sigalrm_handler=func}else{}return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)},"%w":function(date){return date.tm_wday},"%W":function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();if(ENVIRONMENT_HAS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof performance==="object"&&performance&&typeof performance["now"]==="function"){_emscripten_get_now=function(){return performance["now"]()}}else{_emscripten_get_now=Date.now}Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"]=Module["requestFullscreen"];Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestFullscreen"]=function Module_requestFullscreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullscreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmGlobalArg={};var asmLibraryArg={"b":EMTSTACKTOP,"P":___buildEnvironment,"y":___lock,"D":___syscall10,"q":___syscall140,"C":___syscall142,"B":___syscall145,"p":___syscall195,"ba":___syscall196,"aa":___syscall197,"$":___syscall220,"k":___syscall221,"_":___syscall3,"Z":___syscall33,"Y":___syscall340,"X":___syscall38,"W":___syscall4,"V":___syscall40,"A":___syscall5,"o":___syscall54,"U":___syscall75,"T":___syscall77,"l":___unlock,"m":___wasi_fd_close,"S":___wasi_fd_write,"__memory_base":1024,"__table_base":0,"e":_abort,"R":_clock,"Q":_clock_gettime,"O":_emscripten_binary_read,"N":_emscripten_binary_write,"M":_emscripten_get_heap_size,"L":_emscripten_memcpy_big,"K":_emscripten_resize_heap,"z":_exit,"J":_fabs,"i":_getenv,"I":_gettimeofday,"H":_gmtime,"x":_gmtime_r,"w":_llvm_exp2_f64,"j":_llvm_log10_f64,"n":_llvm_stackrestore,"v":_llvm_stacksave,"G":_llvm_trunc_f64,"u":_localtime,"F":_localtime_r,"E":_mktime,"t":_nanosleep,"h":_signal,"s":_strftime,"r":_time,"g":abort,"c":eb,"d":getTempRet0,"memory":wasmMemory,"f":setTempRet0,"table":wasmTable,"a":tempDoublePtr};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["da"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["fa"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["ga"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["ha"].apply(null,arguments)};var _main=Module["_main"]=function(){return Module["asm"]["ia"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ja"].apply(null,arguments)};var _memset=Module["_memset"]=function(){return Module["asm"]["ka"].apply(null,arguments)};var emtStackRestore=Module["emtStackRestore"]=function(){return Module["asm"]["ma"].apply(null,arguments)};var emtStackSave=Module["emtStackSave"]=function(){return Module["asm"]["na"].apply(null,arguments)};var emterpret=Module["emterpret"]=function(){return Module["asm"]["oa"].apply(null,arguments)};var setAsyncState=Module["setAsyncState"]=function(){return Module["asm"]["pa"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["qa"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["ra"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["sa"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["la"].apply(null,arguments)};Module["asm"]=asm;Module["callMain"]=callMain;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}var calledMain=false;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args){args=args||[];var argc=args.length+1;var argv=stackAlloc((argc+1)*4);HEAP32[argv>>2]=allocateUTF8OnStack(thisProgram);for(var i=1;i<argc;i++){HEAP32[(argv>>2)+i]=allocateUTF8OnStack(args[i-1])}HEAP32[(argv>>2)+argc]=0;var initialEmtStackTop=Module["emtStackSave"]();try{var ret=Module["_main"](argc,argv);if(!noExitRuntime){exit(ret,true)}}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){noExitRuntime=true;Module["emtStackRestore"](initialEmtStackTop);return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}err("exception thrown: "+toLog);quit_(1,e)}}finally{calledMain=true}}function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=false;if(Module["noInitialRun"])shouldRunNow=false;noExitRuntime=true;run();module["exports"]=__ffmpegjs;