text: 
  function Webp() {
  var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){if(!func)return;assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};var sourceRegex=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource=null;function ensureJSsource(){if(!JSsource){JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){ensureJSsource();funcstr+="var stack = "+JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"=("+convertCode.returnValue+");"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){ensureJSsource();funcstr+=JSsource["stackRestore"].body.replace("()","(stack)")+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(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=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;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];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;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)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&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(u<=2097151){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}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;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 if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}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)}Module["stackTrace"]=stackTrace;var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+TOTAL_MEMORY+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY<HEAP32[DYNAMICTOP_PTR>>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(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 __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar,end;if(dontAddNull){end=buffer+lengthBytesUTF8(string);lastChar=HEAP8[end]}stringToUTF8(string,buffer,Infinity);if(dontAddNull)HEAP8[end]=lastChar}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}Module["writeArrayToMemory"]=writeArrayToMemory;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}Module["writeAsciiToMemory"]=writeAsciiToMemory;if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;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)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+14144;__ATINIT__.push();allocate([91,9,0,0,200,13,0,0,56,15,0,0,55,18,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,124,0,0,0,128,0,0,0,132,0,0,0,136,0,0,0,140,0,0,0,144,0,0,0,148,0,0,0,48,82,225,13,134,24,179,3,203,172,95,119,106,98,136,28,85,92,56,104,40,184,179,20,248,254,133,74,75,184,221,73,151,243,252,100,137,2,85,92,0,0,41,74,218,193,126,13,171,183,64,89,125,87,146,84,114,202,25,78,105,140,211,56,101,238,1,12,95,117,161,50,82,246,55,84,50,44,187,90,177,87,170,15,231,51,245,115,218,238,95,104,226,204,99,117,131,14,153,110,237,167,48,71,198,217,192,79,60,21,107,73,250,3,20,79,12,251,26,84,50,11,153,115,28,203,215,38,6,55,204,111,216,119,187,44,42,47,118,117,221,204,37,100,97,84,179,36,21,135,125,10,168,20,4,34,103,191,30,20,131,21,180,86,227,2,229,115,111,177,202,68,66,77,38,40,251,174,186,115,237,235,80,10,251,182,106,29,11,212,58,13,104,59,219,53,131,30,8,43,149,107,206,119,240,229,129,81,188,59,133,120,148,148,159,0,60,237,229,39,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,140,1,0,0,144,1,0,0,236,34,0,0,240,34,0,0,245,34,0,0,251,34,0,0,168,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,56,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,64,51,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,3,0,0,138,11,140,11,142,11,146,11,154,11,170,11,202,11,10,12,140,12,140,13,140,15,140,19,24,1,0,1,0,1,0,1,40,0,0,0,4,0,8,0,12,0,128,0,132,0,136,0,140,0,0,1,4,1,8,1,12,1,128,1,132,1,136,1,140,1,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,60,0,62,0,64,0,66,0,68,0,70,0,72,0,74,0,76,0,78,0,80,0,82,0,84,0,86,0,88,0,90,0,92,0,94,0,96,0,98,0,100,0,102,0,104,0,106,0,108,0,110,0,112,0,114,0,116,0,119,0,122,0,125,0,128,0,131,0,134,0,137,0,140,0,143,0,146,0,149,0,152,0,155,0,158,0,161,0,164,0,167,0,170,0,173,0,177,0,181,0,185,0,189,0,193,0,197,0,201,0,205,0,209,0,213,0,217,0,221,0,225,0,229,0,234,0,239,0,245,0,249,0,254,0,3,1,8,1,13,1,18,1,23,1,28,1,76,105,98,114,97,114,121,32,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,33,10,0,85,110,97,98,108,101,32,116,111,32,115,101,116,32,118,105,100,101,111,32,109,111,100,101,32,40,51,50,98,112,112,32,37,100,120,37,100,41,33,10,0,85,110,97,98,108,101,32,116,111,32,99,114,101,97,116,101,32,37,100,120,37,100,32,82,71,66,65,32,115,117,114,102,97,99,101,33,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,105,109,97,103,101,32,40,37,100,41,10,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,255,254,253,252,251,250,249,248,247,246,245,244,243,242,241,240,239,238,237,236,235,234,233,232,231,230,229,228,227,226,225,224,223,222,221,220,219,218,217,216,215,214,213,212,211,210,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182,181,180,179,178,177,176,175,174,173,172,171,170,169,168,167,166,165,164,163,162,161,160,159,158,157,156,155,154,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,120,119,118,117,116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79,78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,127,127,191,127,159,191,223,127,143,159,175,191,207,223,239,127,135,143,151,159,167,175,183,191,199,207,215,223,231,239,247,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,127,129,131,133,135,137,139,141,143,145,147,149,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,183,185,187,189,191,193,195,197,199,201,203,205,207,209,211,213,215,217,219,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,127,24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112,17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15,2,3,7,3,3,11,3,4,3,4,4,2,2,4,4,4,2,1,1,8,7,6,4,4,2,2,2,1,1,1,1,0,2,8,67,111,117,108,100,32,110,111,116,32,100,101,99,111,100,101,32,97,108,112,104,97,32,100,97,116,97,46,0,70,114,97,109,101,32,115,101,116,117,112,32,102,97,105,108,101,100,0,116,104,114,101,97,100,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,102,97,105,108,101,100,46,0,110,111,32,109,101,109,111,114,121,32,100,117,114,105,110,103,32,102,114,97,109,101,32,105,110,105,116,105,97,108,105,122,97,116,105,111,110,46,0,82,73,70,70,0,87,69,66,80,0,86,80,56,88,0,65,76,80,72,0,86,80,56,32,0,86,80,56,76,0,231,120,48,89,115,113,120,152,112,152,179,64,126,170,118,46,70,95,175,69,143,80,85,82,72,155,103,56,58,10,171,218,189,17,13,152,114,26,17,163,44,195,21,10,173,121,24,80,195,26,62,44,64,85,144,71,10,38,171,213,144,34,26,170,46,55,19,136,160,33,206,71,63,20,8,114,114,208,12,9,226,81,40,11,96,182,84,29,16,36,134,183,89,137,98,101,106,165,148,72,187,100,130,157,111,32,75,80,66,102,167,99,74,62,40,234,128,41,53,9,178,241,141,26,8,107,74,43,26,146,73,166,49,23,157,65,38,105,160,51,52,31,115,128,104,79,12,27,217,255,87,17,7,87,68,71,44,114,51,15,186,23,47,41,14,110,182,183,21,17,194,66,45,25,102,197,189,23,18,22,88,88,147,150,42,46,45,196,205,43,97,183,117,85,38,35,179,61,39,53,200,87,26,21,43,232,171,56,34,51,104,114,102,29,93,77,39,28,85,171,58,165,90,98,64,34,22,116,206,23,34,43,166,73,107,54,32,26,51,1,81,43,31,68,25,106,22,64,171,36,225,114,34,19,21,102,132,188,16,76,124,62,18,78,95,85,57,50,48,51,193,101,35,159,215,111,89,46,111,60,148,31,172,219,228,21,18,111,112,113,77,85,179,255,38,120,114,40,42,1,196,245,209,10,25,109,88,43,29,140,166,213,37,43,154,61,63,30,155,67,45,68,1,209,100,80,8,43,154,1,51,26,71,142,78,78,16,255,128,34,197,171,41,40,5,102,211,183,4,1,221,51,50,17,168,209,192,23,25,82,138,31,36,171,27,166,38,44,229,67,87,58,169,82,115,26,59,179,63,59,90,180,59,166,93,73,154,40,40,21,116,143,209,34,39,175,47,15,16,183,34,223,49,45,183,46,17,33,183,6,98,15,32,183,57,46,22,24,128,1,54,17,37,65,32,73,115,28,128,23,128,205,40,3,9,115,51,192,18,6,223,87,37,9,115,59,77,64,21,47,104,55,44,218,9,54,53,130,226,64,90,70,205,40,41,23,26,57,54,57,112,184,5,41,38,166,213,30,34,26,133,152,116,10,32,134,39,19,53,221,26,114,32,73,255,31,9,65,234,2,15,1,118,73,75,32,12,51,192,255,160,43,51,88,31,35,67,102,85,55,186,85,56,21,23,111,59,205,45,37,192,55,38,70,124,73,102,1,34,98,125,98,42,88,104,85,117,175,82,95,84,53,89,128,100,113,101,45,75,79,123,47,51,128,81,171,1,57,17,5,71,102,57,53,41,49,38,33,13,121,57,73,26,1,85,41,10,67,138,77,110,90,47,114,115,21,2,10,102,255,166,23,6,101,29,16,10,85,128,101,196,26,57,18,10,102,102,213,34,20,43,117,20,15,36,163,128,68,1,26,102,61,71,37,34,53,31,243,192,69,60,71,38,73,119,28,222,37,68,45,128,34,1,47,11,245,171,62,17,19,70,146,85,55,62,70,37,43,37,154,100,163,85,160,1,63,9,92,136,28,64,32,201,85,75,15,9,9,64,255,184,119,16,86,6,28,5,64,255,25,248,1,56,8,17,132,137,255,55,116,128,58,15,20,82,135,57,26,121,40,164,50,31,137,154,133,25,35,218,51,103,44,131,131,123,31,6,158,86,40,64,135,148,224,45,183,128,22,26,17,131,240,154,14,1,209,45,16,21,91,64,222,7,1,197,56,21,39,155,60,138,23,102,213,83,12,13,54,192,255,68,47,28,85,26,85,85,128,128,32,146,171,18,11,7,63,144,171,4,4,246,35,27,10,146,174,171,12,26,128,190,80,35,99,180,80,126,54,45,85,126,47,87,176,51,41,20,32,101,75,128,139,118,146,116,128,85,56,41,15,176,236,85,37,9,62,71,30,17,119,118,255,17,18,138,101,38,60,138,55,70,43,26,142,146,36,19,30,171,255,97,27,20,138,45,61,62,219,1,81,188,64,32,41,20,117,151,142,20,21,163,112,19,12,61,195,128,48,4,24,0,1,255,2,254,3,4,6,253,5,252,251,250,7,249,8,248,247,79,75,0,110,117,108,108,32,86,80,56,73,111,32,112,97,115,115,101,100,32,116,111,32,86,80,56,71,101,116,72,101,97,100,101,114,115,40,41,0,84,114,117,110,99,97,116,101,100,32,104,101,97,100,101,114,46,0,73,110,99,111,114,114,101,99,116,32,107,101,121,102,114,97,109,101,32,112,97,114,97,109,101,116,101,114,115,46,0,70,114,97,109,101,32,110,111,116,32,100,105,115,112,108,97,121,97,98,108,101,46,0,99,97,110,110,111,116,32,112,97,114,115,101,32,112,105,99,116,117,114,101,32,104,101,97,100,101,114,0,66,97,100,32,99,111,100,101,32,119,111,114,100,0,98,97,100,32,112,97,114,116,105,116,105,111,110,32,108,101,110,103,116,104,0,99,97,110,110,111,116,32,112,97,114,115,101,32,115,101,103,109,101,110,116,32,104,101,97,100,101,114,0,99,97,110,110,111,116,32,112,97,114,115,101,32,102,105,108,116,101,114,32,104,101,97,100,101,114,0,99,97,110,110,111,116,32,112,97,114,115,101,32,112,97,114,116,105,116,105,111,110,115,0,78,111,116,32,97,32,107,101,121,32,102,114,97,109,101,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,176,246,255,255,255,255,255,255,255,255,255,223,241,252,255,255,255,255,255,255,255,255,249,253,253,255,255,255,255,255,255,255,255,255,244,252,255,255,255,255,255,255,255,255,234,254,254,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,246,254,255,255,255,255,255,255,255,255,239,253,254,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,248,254,255,255,255,255,255,255,255,255,251,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,251,254,254,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,254,253,255,254,255,255,255,255,255,255,250,255,254,255,254,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,217,255,255,255,255,255,255,255,255,255,255,225,252,241,253,255,255,254,255,255,255,255,234,250,241,250,253,255,253,254,255,255,255,255,254,255,255,255,255,255,255,255,255,255,223,254,254,255,255,255,255,255,255,255,255,238,253,254,254,255,255,255,255,255,255,255,255,248,254,255,255,255,255,255,255,255,255,249,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,247,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,253,255,255,255,255,255,255,255,255,250,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,186,251,250,255,255,255,255,255,255,255,255,234,251,244,254,255,255,255,255,255,255,255,251,251,243,253,254,255,254,255,255,255,255,255,253,254,255,255,255,255,255,255,255,255,236,253,254,255,255,255,255,255,255,255,255,251,253,253,254,254,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,254,254,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,248,255,255,255,255,255,255,255,255,255,255,250,254,252,254,255,255,255,255,255,255,255,248,254,249,253,255,255,255,255,255,255,255,255,253,253,255,255,255,255,255,255,255,255,246,253,253,255,255,255,255,255,255,255,255,252,254,251,254,254,255,255,255,255,255,255,255,254,252,255,255,255,255,255,255,255,255,248,254,253,255,255,255,255,255,255,255,255,253,255,254,254,255,255,255,255,255,255,255,255,251,254,255,255,255,255,255,255,255,255,245,251,254,255,255,255,255,255,255,255,255,253,253,254,255,255,255,255,255,255,255,255,255,251,253,255,255,255,255,255,255,255,255,252,253,254,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,255,255,255,249,255,254,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,253,255,255,255,255,255,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,253,136,254,255,228,219,128,128,128,128,128,189,129,242,255,227,213,255,219,128,128,128,106,126,227,252,214,209,255,255,128,128,128,1,98,248,255,236,226,255,255,128,128,128,181,133,238,254,221,234,255,154,128,128,128,78,134,202,247,198,180,255,219,128,128,128,1,185,249,255,243,255,128,128,128,128,128,184,150,247,255,236,224,128,128,128,128,128,77,110,216,255,236,230,128,128,128,128,128,1,101,251,255,241,255,128,128,128,128,128,170,139,241,252,236,209,255,255,128,128,128,37,116,196,243,228,255,255,255,128,128,128,1,204,254,255,245,255,128,128,128,128,128,207,160,250,255,238,128,128,128,128,128,128,102,103,231,255,211,171,128,128,128,128,128,1,152,252,255,240,255,128,128,128,128,128,177,135,243,255,234,225,128,128,128,128,128,80,129,211,255,194,224,128,128,128,128,128,1,1,255,128,128,128,128,128,128,128,128,246,1,255,128,128,128,128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128,198,35,237,223,193,187,162,160,145,155,62,131,45,198,221,172,176,220,157,252,221,1,68,47,146,208,149,167,221,162,255,223,128,1,149,241,255,221,224,255,255,128,128,128,184,141,234,253,222,220,255,199,128,128,128,81,99,181,242,176,190,249,202,255,255,128,1,129,232,253,214,197,242,196,255,255,128,99,121,210,250,201,198,255,202,128,128,128,23,91,163,242,170,187,247,210,255,255,128,1,200,246,255,234,255,128,128,128,128,128,109,178,241,255,231,245,255,255,128,128,128,44,130,201,253,205,192,255,255,128,128,128,1,132,239,251,219,209,255,165,128,128,128,94,136,225,251,218,190,255,255,128,128,128,22,100,174,245,186,161,255,199,128,128,128,1,182,249,255,232,235,128,128,128,128,128,124,143,241,255,227,234,128,128,128,128,128,35,77,181,251,193,211,255,205,128,128,128,1,157,247,255,236,231,255,255,128,128,128,121,141,235,255,225,227,255,255,128,128,128,45,99,188,251,195,217,255,224,128,128,128,1,1,251,255,213,255,128,128,128,128,128,203,1,248,255,255,128,128,128,128,128,128,137,1,177,255,224,255,128,128,128,128,128,253,9,248,251,207,208,255,192,128,128,128,175,13,224,243,193,185,249,198,255,255,128,73,17,171,221,161,179,236,167,255,234,128,1,95,247,253,212,183,255,255,128,128,128,239,90,244,250,211,209,255,255,128,128,128,155,77,195,248,188,195,255,255,128,128,128,1,24,239,251,218,219,255,205,128,128,128,201,51,219,255,196,186,128,128,128,128,128,69,46,190,239,201,218,255,228,128,128,128,1,191,251,255,255,128,128,128,128,128,128,223,165,249,255,213,255,128,128,128,128,128,141,124,248,255,255,128,128,128,128,128,128,1,16,248,255,255,128,128,128,128,128,128,190,36,230,255,236,255,128,128,128,128,128,149,1,255,128,128,128,128,128,128,128,128,1,226,255,128,128,128,128,128,128,128,128,247,192,255,128,128,128,128,128,128,128,128,240,128,255,128,128,128,128,128,128,128,128,1,134,252,255,255,128,128,128,128,128,128,213,62,250,255,255,128,128,128,128,128,128,55,93,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,202,24,213,235,186,191,220,160,240,175,255,126,38,182,232,169,184,228,174,255,187,128,61,46,138,219,151,178,240,170,255,216,128,1,112,230,250,199,191,247,159,255,255,128,166,109,228,252,211,215,255,174,128,128,128,39,77,162,232,172,180,245,178,255,255,128,1,52,220,246,198,199,249,220,255,255,128,124,74,191,243,183,193,250,221,255,255,128,24,71,130,219,154,170,243,182,255,255,128,1,182,225,249,219,240,255,224,128,128,128,149,150,226,252,216,205,255,171,128,128,128,28,108,170,242,183,194,254,223,255,255,128,1,81,230,252,204,203,255,192,128,128,128,123,102,209,247,188,196,255,233,128,128,128,20,95,153,243,164,173,255,203,128,128,128,1,222,248,255,216,213,128,128,128,128,128,168,175,246,252,235,205,255,255,128,128,128,47,116,215,255,211,212,255,255,128,128,128,1,121,236,253,212,214,255,255,128,128,128,141,84,213,252,201,202,255,219,128,128,128,42,80,160,240,162,185,255,205,128,128,128,1,1,255,128,128,128,128,128,128,128,128,244,1,255,128,128,128,128,128,128,128,128,238,1,255,128,128,128,128,128,128,128,128,4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157,0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15,173,148,140,0,176,155,140,135,0,180,157,141,134,130,0,254,254,243,230,196,177,153,140,133,130,129,0,78,85,76,76,32,86,80,56,73,111,32,112,97,114,97,109,101,116,101,114,32,105,110,32,86,80,56,68,101,99,111,100,101,40,41,46,0,80,114,101,109,97,116,117,114,101,32,101,110,100,45,111,102,45,112,97,114,116,105,116,105,111,110,48,32,101,110,99,111,117,110,116,101,114,101,100,46,0,80,114,101,109,97,116,117,114,101,32,101,110,100,45,111,102,45,102,105,108,101,32,101,110,99,111,117,110,116,101,114,101,100,46,0,79,117,116,112,117,116,32,97,98,111,114,116,101,100,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _pthread_cond_signal(){return 0}function _pthread_cond_destroy(){return 0}function _pthread_mutex_destroy(){}function _pthread_create(){return 11}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:(function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i<GL.MINI_TEMP_BUFFER_SIZE;i++){GL.miniTempBufferViews[i]=GL.miniTempBuffer.subarray(0,i+1)}for(var i=0;i<32;i++){GL.tempFixedLengthArray.push(new Array(i))}}),recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:(function(table){var ret=GL.counter++;for(var i=table.length;i<ret;i++){table[i]=null}return ret}),MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes["majorVersion"]==="undefined"&&typeof webGLContextAttributes["minorVersion"]==="undefined"){webGLContextAttributes["majorVersion"]=1;webGLContextAttributes["minorVersion"]=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes["majorVersion"]==1&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes["majorVersion"]==2&&webGLContextAttributes["minorVersion"]==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;var context=GL.registerContext(ctx,webGLContextAttributes);return context}),registerContext:(function(ctx,webGLContextAttributes){var handle=GL.getNewId(GL.contexts);var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes["majorVersion"],GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes["enableExtensionsByDefault"]==="undefined"||webGLContextAttributes["enableExtensionsByDefault"]){GL.initExtensions(context)}return handle}),makeContextCurrent:(function(contextHandle){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),getContext:(function(contextHandle){return GL.contexts[contextHandle]}),deleteContext:(function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);if(context.version<2){var instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");if(instancedArraysExt){GLctx["vertexAttribDivisor"]=(function(index,divisor){instancedArraysExt["vertexAttribDivisorANGLE"](index,divisor)});GLctx["drawArraysInstanced"]=(function(mode,first,count,primcount){instancedArraysExt["drawArraysInstancedANGLE"](mode,first,count,primcount)});GLctx["drawElementsInstanced"]=(function(mode,count,type,indices,primcount){instancedArraysExt["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)})}var vaoExt=GLctx.getExtension("OES_vertex_array_object");if(vaoExt){GLctx["createVertexArray"]=(function(){return vaoExt["createVertexArrayOES"]()});GLctx["deleteVertexArray"]=(function(vao){vaoExt["deleteVertexArrayOES"](vao)});GLctx["bindVertexArray"]=(function(vao){vaoExt["bindVertexArrayOES"](vao)});GLctx["isVertexArray"]=(function(vao){return vaoExt["isVertexArrayOES"](vao)})}var drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");if(drawBuffersExt){GLctx["drawBuffers"]=(function(n,bufs){drawBuffersExt["drawBuffersWEBGL"](n,bufs)})}}GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query");var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod","EXT_color_buffer_float"];var exts=GLctx.getSupportedExtensions();if(exts&&exts.length>0){GLctx.getSupportedExtensions().forEach((function(ext){if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1,maxUniformBlockNameLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i<numUniforms;++i){var u=GLctx.getActiveUniform(p,i);var name=u.name;ptable.maxUniformLength=Math.max(ptable.maxUniformLength,name.length+1);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);if(loc!=null){var id=GL.getNewId(GL.uniforms);utable[name]=[u.size,id];GL.uniforms[id]=loc;for(var j=1;j<u.size;++j){var n=name+"["+j+"]";loc=GLctx.getUniformLocation(p,n);id=GL.getNewId(GL.uniforms);GL.uniforms[id]=loc}}}})};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)}),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.resolve(from).substr(1);to=PATH.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("/")})};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(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="setimmediate";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);if(ENVIRONMENT_IS_WORKER){if(Module["setImmediates"]===undefined)Module["setImmediates"]=[];Module["setImmediates"].push(func);window.postMessage({target:emscriptenMainLoopMessageId})}else window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["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){Module.printErr("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)Module.printErr("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){Runtime.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};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}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=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["msExitFullscreen"]||document["webkitCancelFullScreen"]||(function(){});canvas.exitFullscreen=canvas.exitFullscreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullscreen=true;if(Browser.resizeCanvas)Browser.setFullscreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullscreen);if(Module["onFullscreen"])Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas)}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){Module.printErr("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)}),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 requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(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){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["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;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];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):"";Module["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+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}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 _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){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"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);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}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _putenv(string){if(string===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}string=Pointer_stringify(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(ENV)}return 0}function _SDL_RWFromConstMem(mem,size){var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}function _TTF_FontHeight(font){var fontData=SDL.fonts[font];return fontData.size}function _TTF_SizeText(font,text,w,h){var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,Pointer_stringify(text))}if(h){HEAP32[h>>2]=fontData.size}return 0}function _TTF_RenderText_Solid(font,text,color){text=Pointer_stringify(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;var color=SDL.loadColorToCSSRGB(color);var fontString=SDL.makeFontString(h,fontData.name);var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="bottom";surfData.ctx.fillText(text,0,h|0);surfData.ctx.restore();return surf}function _Mix_HaltMusic(){var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){Module["dynCall_v"](SDL.hookMusicFinished)}return 0}function _Mix_PlayMusic(id,loops){if(SDL.music.audio){if(!SDL.music.audio.paused)Module.printErr("Music is already playing. "+SDL.music.source);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else if(info.audio){audio=info.audio}audio["onended"]=(function(){if(SDL.music.audio==this)_Mix_HaltMusic()});audio.loop=loops!=0;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}function _Mix_FreeChunk(id){SDL.audios[id]=null}function _Mix_LoadWAV_RW(rwopsID,freesrc){var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH.resolve(rwops.filename);var raw=Module["preloadedAudios"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module.noAudioDecoding)Runtime.warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){Module.printErr("Couldn't find file for: "+filename);return 0}}if(Module["freePreloadedMediaOnUse"]){Module["preloadedAudios"][filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable())bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count);else bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={};webAudio.onDecodeComplete=[];function onDecodeComplete(data){webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach((function(e){e()}));webAudio.onDecodeComplete=undefined}SDL.audioContext["decodeAudioData"](arrayBuffer,onDecodeComplete)}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio:audio,webAudio:webAudio});return id}function _Mix_PlayChannel(channel,id,loops){var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){Module.printErr("All "+SDL.numChannels+" channels in use!");return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function SDL_audio_onended(){if(channelInfo.audio==this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)Runtime.getFuncWrapper(SDL.channelFinished,"vi")(channel)};channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel}function _SDL_PauseAudio(pauseOn){if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=Browser.safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn}function _SDL_CloseAudio(){if(SDL.audio){_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(0)}}function _SDL_LockSurface(surf){var surfData=SDL.surfaces[surf];surfData.locked++;if(surfData.locked>1)return 0;if(!surfData.buffer){surfData.buffer=_malloc(surfData.width*surfData.height*4);HEAP32[surf+20>>2]=surfData.buffer}HEAP32[surf+20>>2]=surfData.buffer;if(surf==SDL.screen&&Module.screenIsReadOnly&&surfData.image)return 0;if(SDL.defaults.discardOnLock){if(!surfData.image){surfData.image=surfData.ctx.createImageData(surfData.width,surfData.height)}if(!SDL.defaults.opaqueFrontBuffer)return}else{surfData.image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height)}if(surf==SDL.screen&&SDL.defaults.opaqueFrontBuffer){var data=surfData.image.data;var num=data.length;for(var i=0;i<num/4;i++){data[i*4+3]=255}}if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(surfData.isFlagSet(2097152)){throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+(new Error).stack}else{HEAPU8.set(surfData.image.data,surfData.buffer)}}return 0}function _SDL_FreeRW(rwopsID){SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}function _IMG_Load_RW(rwopsID,freeSrc){try{var cleanup=(function(){if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)});var addCleanup=(function(func){var old=cleanup;cleanup=function added_cleanup(){old();func()}});var callStbImage=(function(func,params){var x=Module["_malloc"](4);var y=Module["_malloc"](4);var comp=Module["_malloc"](4);addCleanup((function(){Module["_free"](x);Module["_free"](y);Module["_free"](comp);if(data)Module["_stbi_image_free"](data)}));var data=Module["_"+func].apply(null,params.concat([x,y,comp,0]));if(!data)return null;return{rawData:true,data:data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}});var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var filename=rwops.filename;if(filename===undefined){Runtime.warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH.resolve(filename);var raw=Module["preloadedImages"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");Runtime.warnOnce("Cannot find preloaded image "+filename);Runtime.warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Module["preloadedImages"][filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=255}}else if(raw.bpp==2){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var gray=HEAPU8[sourcePtr++>>0];var alpha=HEAPU8[sourcePtr++>>0];data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=gray;data[destPtr++]=alpha}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{Module.printErr("cannot handle bpp "+raw.bpp);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}}function _SDL_RWFromFile(_name,mode){var id=SDL.rwops.length;var name=Pointer_stringify(_name);SDL.rwops.push({filename:name,mimetype:Browser.getMimetype(name)});return id}function _IMG_Load(filename){var rwops=_SDL_RWFromFile(filename);var result=_IMG_Load_RW(rwops,1);return result}function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}function _SDL_UpperBlit(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}function _SDL_GetTicks(){return Date.now()-SDL.startTime|0}var SDL={defaults:{width:320,height:200,copyOnLock:true,discardOnLock:false,opaqueFrontBuffer:true},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:false,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:false,isRequestingFullscreen:false,textInput:false,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect:(function(rect){return{x:HEAP32[rect+0>>2],y:HEAP32[rect+4>>2],w:HEAP32[rect+8>>2],h:HEAP32[rect+12>>2]}}),updateRect:(function(rect,r){HEAP32[rect>>2]=r.x;HEAP32[rect+4>>2]=r.y;HEAP32[rect+8>>2]=r.w;HEAP32[rect+12>>2]=r.h}),intersectionOfRects:(function(first,second){var leftX=Math.max(first.x,second.x);var leftY=Math.max(first.y,second.y);var rightX=Math.min(first.x+first.w,second.x+second.w);var rightY=Math.min(first.y+first.h,second.y+second.h);return{x:leftX,y:leftY,w:Math.max(leftX,rightX)-leftX,h:Math.max(leftY,rightY)-leftY}}),checkPixelFormat:(function(fmt){}),loadColorToCSSRGB:(function(color){var rgba=HEAP32[color>>2];return"rgb("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+")"}),loadColorToCSSRGBA:(function(color){var rgba=HEAP32[color>>2];return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>24&255)/255+")"}),translateColorToCSSRGBA:(function(rgba){return"rgba("+(rgba&255)+","+(rgba>>8&255)+","+(rgba>>16&255)+","+(rgba>>>24)/255+")"}),translateRGBAToCSSRGBA:(function(r,g,b,a){return"rgba("+(r&255)+","+(g&255)+","+(b&255)+","+(a&255)/255+")"}),translateRGBAToColor:(function(r,g,b,a){return r|g<<8|b<<16|a<<24}),makeSurface:(function(width,height,flags,usePageCanvas,source,rmask,gmask,bmask,amask){flags=flags||0;var is_SDL_HWSURFACE=flags&1;var is_SDL_HWPALETTE=flags&2097152;var is_SDL_OPENGL=flags&67108864;var surf=_malloc(60);var pixelFormat=_malloc(44);var bpp=is_SDL_HWPALETTE?1:4;var buffer=0;if(!is_SDL_HWSURFACE&&!is_SDL_OPENGL){buffer=_malloc(width*height*4)}HEAP32[surf>>2]=flags;HEAP32[surf+4>>2]=pixelFormat;HEAP32[surf+8>>2]=width;HEAP32[surf+12>>2]=height;HEAP32[surf+16>>2]=width*bpp;HEAP32[surf+20>>2]=buffer;HEAP32[surf+36>>2]=0;HEAP32[surf+40>>2]=0;HEAP32[surf+44>>2]=Module["canvas"].width;HEAP32[surf+48>>2]=Module["canvas"].height;HEAP32[surf+56>>2]=1;HEAP32[pixelFormat>>2]=-2042224636;HEAP32[pixelFormat+4>>2]=0;HEAP8[pixelFormat+8>>0]=bpp*8;HEAP8[pixelFormat+9>>0]=bpp;HEAP32[pixelFormat+12>>2]=rmask||255;HEAP32[pixelFormat+16>>2]=gmask||65280;HEAP32[pixelFormat+20>>2]=bmask||16711680;HEAP32[pixelFormat+24>>2]=amask||4278190080;SDL.GL=SDL.GL||is_SDL_OPENGL;var canvas;if(!usePageCanvas){if(SDL.canvasPool.length>0){canvas=SDL.canvasPool.pop()}else{canvas=document.createElement("canvas")}canvas.width=width;canvas.height=height}else{canvas=Module["canvas"]}var webGLContextAttributes={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0};var ctx=Browser.createContext(canvas,is_SDL_OPENGL,usePageCanvas,webGLContextAttributes);SDL.surfaces[surf]={width:width,height:height,canvas:canvas,ctx:ctx,surf:surf,buffer:buffer,pixelFormat:pixelFormat,alpha:255,flags:flags,locked:0,usePageCanvas:usePageCanvas,source:source,isFlagSet:(function(flag){return flags&flag})};return surf}),copyIndexedColorData:(function(surfData,rX,rY,rW,rH){if(!surfData.colors){return}var fullWidth=Module["canvas"].width;var fullHeight=Module["canvas"].height;var startX=rX||0;var startY=rY||0;var endX=(rW||fullWidth-startX)+startX;var endY=(rH||fullHeight-startY)+startY;var buffer=surfData.buffer;if(!surfData.image.data32){surfData.image.data32=new Uint32Array(surfData.image.data.buffer)}var data32=surfData.image.data32;var colors32=surfData.colors32;for(var y=startY;y<endY;++y){var base=y*fullWidth;for(var x=startX;x<endX;++x){data32[base+x]=colors32[HEAPU8[buffer+base+x>>0]]}}}),freeSurface:(function(surf){var refcountPointer=surf+56;var refcount=HEAP32[refcountPointer>>2];if(refcount>1){HEAP32[refcountPointer>>2]=refcount-1;return}var info=SDL.surfaces[surf];if(!info.usePageCanvas&&info.canvas)SDL.canvasPool.push(info.canvas);if(info.buffer)_free(info.buffer);_free(info.pixelFormat);_free(surf);SDL.surfaces[surf]=null;if(surf===SDL.screen){SDL.screen=null}}),blitSurface__deps:["SDL_LockSurface"],blitSurface:(function(src,srcrect,dst,dstrect,scale){var srcData=SDL.surfaces[src];var dstData=SDL.surfaces[dst];var sr,dr;if(srcrect){sr=SDL.loadRect(srcrect)}else{sr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstrect){dr=SDL.loadRect(dstrect)}else{dr={x:0,y:0,w:srcData.width,h:srcData.height}}if(dstData.clipRect){var widthScale=!scale||sr.w===0?1:sr.w/dr.w;var heightScale=!scale||sr.h===0?1:sr.h/dr.h;dr=SDL.intersectionOfRects(dstData.clipRect,dr);sr.w=dr.w*widthScale;sr.h=dr.h*heightScale;if(dstrect){SDL.updateRect(dstrect,dr)}}var blitw,blith;if(scale){blitw=dr.w;blith=dr.h}else{blitw=sr.w;blith=sr.h}if(sr.w===0||sr.h===0||blitw===0||blith===0){return 0}var oldAlpha=dstData.ctx.globalAlpha;dstData.ctx.globalAlpha=srcData.alpha/255;dstData.ctx.drawImage(srcData.canvas,sr.x,sr.y,sr.w,sr.h,dr.x,dr.y,blitw,blith);dstData.ctx.globalAlpha=oldAlpha;if(dst!=SDL.screen){Runtime.warnOnce("WARNING: copying canvas data to memory for compatibility");_SDL_LockSurface(dst);dstData.locked--}return 0}),downFingers:{},savedKeydown:null,receiveEvent:(function(event){function unpressAllPressedKeys(){for(var code in SDL.keyboardMap){SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[code]})}}switch(event.type){case"touchstart":case"touchmove":{event.preventDefault();var touches=[];if(event.type==="touchstart"){for(var i=0;i<event.touches.length;i++){var touch=event.touches[i];if(SDL.downFingers[touch.identifier]!=true){SDL.downFingers[touch.identifier]=true;touches.push(touch)}}}else{touches=event.touches}var firstTouch=touches[0];if(firstTouch){if(event.type=="touchstart"){SDL.DOMButtons[0]=1}var mouseEventType;switch(event.type){case"touchstart":mouseEventType="mousedown";break;case"touchmove":mouseEventType="mousemove";break}var mouseEvent={type:mouseEventType,button:0,pageX:firstTouch.clientX,pageY:firstTouch.clientY};SDL.events.push(mouseEvent)}for(var i=0;i<touches.length;i++){var touch=touches[i];SDL.events.push({type:event.type,touch:touch})}break};case"touchend":{event.preventDefault();for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];if(SDL.downFingers[touch.identifier]===true){delete SDL.downFingers[touch.identifier]}}var mouseEvent={type:"mouseup",button:0,pageX:event.changedTouches[0].clientX,pageY:event.changedTouches[0].clientY};SDL.DOMButtons[0]=0;SDL.events.push(mouseEvent);for(var i=0;i<event.changedTouches.length;i++){var touch=event.changedTouches[i];SDL.events.push({type:"touchend",touch:touch})}break};case"DOMMouseScroll":case"mousewheel":case"wheel":var delta=-Browser.getMouseWheelDelta(event);delta=delta==0?0:delta>0?Math.max(delta,1):Math.min(delta,-1);var button=delta>0?3:4;SDL.events.push({type:"mousedown",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"mouseup",button:button,pageX:event.pageX,pageY:event.pageY});SDL.events.push({type:"wheel",deltaX:0,deltaY:delta});event.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1){SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}if(Browser.pointerLock){if("mozMovementX"in event){event["movementX"]=event["mozMovementX"];event["movementY"]=event["mozMovementY"]}if(event["movementX"]==0&&event["movementY"]==0){event.preventDefault();return}};case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if(event.type!=="keydown"||!SDL.unicode&&!SDL.textInput||event.keyCode===8||event.keyCode===9){event.preventDefault()}if(event.type=="mousedown"){SDL.DOMButtons[event.button]=1;SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}})}else if(event.type=="mouseup"){if(!SDL.DOMButtons[event.button]){return}SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:event.pageX,pageY:event.pageY}});SDL.DOMButtons[event.button]=0}if(event.type==="keydown"||event.type==="mousedown"){SDL.canRequestFullscreen=true}else if(event.type==="keyup"||event.type==="mouseup"){if(SDL.isRequestingFullscreen){Module["requestFullscreen"](true,true);SDL.isRequestingFullscreen=false}SDL.canRequestFullscreen=false}if(event.type==="keypress"&&SDL.savedKeydown){SDL.savedKeydown.keypressCharCode=event.charCode;SDL.savedKeydown=null}else if(event.type==="keydown"){SDL.savedKeydown=event}if(event.type!=="keypress"||SDL.textInput){SDL.events.push(event)}break;case"mouseout":for(var i=0;i<3;i++){if(SDL.DOMButtons[i]){SDL.events.push({type:"mouseup",button:i,pageX:event.pageX,pageY:event.pageY});SDL.DOMButtons[i]=0}}event.preventDefault();break;case"focus":SDL.events.push(event);event.preventDefault();break;case"blur":SDL.events.push(event);unpressAllPressedKeys();event.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden});unpressAllPressedKeys();event.preventDefault();break;case"unload":if(Browser.mainLoop.runner){SDL.events.push(event);Browser.mainLoop.runner()}return;case"resize":SDL.events.push(event);if(event.preventDefault){event.preventDefault()}break}if(SDL.events.length>=1e4){Module.printErr("SDL event queue full, dropping events");SDL.events=SDL.events.slice(0,1e4)}SDL.flushEventsToHandler();return}),lookupKeyCodeForEvent:(function(event){var code=event.keyCode;if(code>=65&&code<=90){code+=32}else{code=SDL.keyCodes[event.keyCode]||event.keyCode;if(event.location===KeyboardEvent.DOM_KEY_LOCATION_RIGHT&&code>=(224|1<<10)&&code<=(227|1<<10)){code+=4}}return code}),handleEvent:(function(event){if(event.handled)return;event.handled=true;switch(event.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(event);break};case"keydown":case"keyup":{var down=event.type==="keydown";var code=SDL.lookupKeyCodeForEvent(event);HEAP8[SDL.keyboardState+code>>0]=down;SDL.modState=(HEAP8[SDL.keyboardState+1248>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>0]?512:0);if(down){SDL.keyboardMap[code]=event.keyCode}else{delete SDL.keyboardMap[code]}break};case"mousedown":case"mouseup":if(event.type=="mousedown"){SDL.buttonState|=1<<event.button}else if(event.type=="mouseup"){SDL.buttonState&=~(1<<event.button)};case"mousemove":{Browser.calculateMouseEvent(event);break}}}),flushEventsToHandler:(function(){if(!SDL.eventHandler)return;while(SDL.pollEvent(SDL.eventHandlerTemp)){Module["dynCall_iii"](SDL.eventHandler,SDL.eventHandlerContext,SDL.eventHandlerTemp)}}),pollEvent:(function(ptr){if(SDL.initFlags&512&&SDL.joystickEventState){SDL.queryJoysticks()}if(ptr){while(SDL.events.length>0){if(SDL.makeCEvent(SDL.events.shift(),ptr)!==false)return 1}return 0}else{return SDL.events.length>0}}),makeCEvent:(function(event,ptr){if(typeof event==="number"){_memcpy(ptr,event,28);_free(event);return}SDL.handleEvent(event);switch(event.type){case"keydown":case"keyup":{var down=event.type==="keydown";var key=SDL.lookupKeyCodeForEvent(event);var scan;if(key>=1024){scan=key-1024}else{scan=SDL.scanCodes[key]||key}HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+8>>0]=down?1:0;HEAP8[ptr+9>>0]=0;HEAP32[ptr+12>>2]=scan;HEAP32[ptr+16>>2]=key;HEAP16[ptr+20>>1]=SDL.modState;HEAP32[ptr+24>>2]=event.keypressCharCode||key;break};case"keypress":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];var cStr=intArrayFromString(String.fromCharCode(event.charCode));for(var i=0;i<cStr.length;++i){HEAP8[ptr+(8+i)>>0]=cStr[i]}break};case"mousedown":case"mouseup":case"mousemove":{if(event.type!="mousemove"){var down=event.type==="mousedown";HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP8[ptr+16>>0]=event.button+1;HEAP8[ptr+17>>0]=down?1:0;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY}else{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP32[ptr+8>>2]=0;HEAP32[ptr+12>>2]=0;HEAP32[ptr+16>>2]=SDL.buttonState;HEAP32[ptr+20>>2]=Browser.mouseX;HEAP32[ptr+24>>2]=Browser.mouseY;HEAP32[ptr+28>>2]=Browser.mouseMovementX;HEAP32[ptr+32>>2]=Browser.mouseMovementY}break};case"wheel":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+16>>2]=event.deltaX;HEAP32[ptr+20>>2]=event.deltaY;break};case"touchstart":case"touchend":case"touchmove":{var touch=event.touch;if(!Browser.touches[touch.identifier])break;var w=Module["canvas"].width;var h=Module["canvas"].height;var x=Browser.touches[touch.identifier].x/w;var y=Browser.touches[touch.identifier].y/h;var lx=Browser.lastTouches[touch.identifier].x/w;var ly=Browser.lastTouches[touch.identifier].y/h;var dx=x-lx;var dy=y-ly;if(touch["deviceID"]===undefined)touch.deviceID=SDL.TOUCH_DEFAULT_ID;if(dx===0&&dy===0&&event.type==="touchmove")return false;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=_SDL_GetTicks();tempI64=[touch.deviceID>>>0,(tempDouble=touch.deviceID,+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+8>>2]=tempI64[0],HEAP32[ptr+12>>2]=tempI64[1];tempI64=[touch.identifier>>>0,(tempDouble=touch.identifier,+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+16>>2]=tempI64[0],HEAP32[ptr+20>>2]=tempI64[1];HEAPF32[ptr+24>>2]=x;HEAPF32[ptr+28>>2]=y;HEAPF32[ptr+32>>2]=dx;HEAPF32[ptr+36>>2]=dy;if(touch.force!==undefined){HEAPF32[ptr+40>>2]=touch.force}else{HEAPF32[ptr+40>>2]=event.type=="touchend"?0:1}break};case"unload":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];break};case"resize":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=event.w;HEAP32[ptr+8>>2]=event.h;break};case"joystick_button_up":case"joystick_button_down":{var state=event.type==="joystick_button_up"?0:1;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.button;HEAP8[ptr+6>>0]=state;break};case"joystick_axis_motion":{HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP8[ptr+4>>0]=event.index;HEAP8[ptr+5>>0]=event.axis;HEAP32[ptr+8>>2]=SDL.joystickAxisValueConversion(event.value);break};case"focus":{var SDL_WINDOWEVENT_FOCUS_GAINED=12;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_GAINED;break};case"blur":{var SDL_WINDOWEVENT_FOCUS_LOST=13;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=SDL_WINDOWEVENT_FOCUS_LOST;break};case"visibilitychange":{var SDL_WINDOWEVENT_SHOWN=1;var SDL_WINDOWEVENT_HIDDEN=2;var visibilityEventID=event.visible?SDL_WINDOWEVENT_SHOWN:SDL_WINDOWEVENT_HIDDEN;HEAP32[ptr>>2]=SDL.DOMEventToSDLEvent[event.type];HEAP32[ptr+4>>2]=0;HEAP8[ptr+8>>0]=visibilityEventID;break};default:throw"Unhandled SDL event: "+event.type}}),makeFontString:(function(height,fontName){if(fontName.charAt(0)!="'"&&fontName.charAt(0)!='"'){fontName='"'+fontName+'"'}return height+"px "+fontName+", serif"}),estimateTextWidth:(function(fontData,text){var h=fontData.size;var fontString=SDL.makeFontString(h,fontData.name);var tempCtx=SDL.ttfContext;tempCtx.save();tempCtx.font=fontString;var ret=tempCtx.measureText(text).width|0;tempCtx.restore();return ret}),allocateChannels:(function(num){if(SDL.numChannels&&SDL.numChannels>=num&&num!=0)return;SDL.numChannels=num;SDL.channels=[];for(var i=0;i<num;i++){SDL.channels[i]={audio:null,volume:1}}}),setGetVolume:(function(info,volume){if(!info)return 0;var ret=info.volume*128;if(volume!=-1){info.volume=Math.min(Math.max(volume,0),128)/128;if(info.audio){try{info.audio.volume=info.volume;if(info.audio.webAudioGainNode)info.audio.webAudioGainNode["gain"]["value"]=info.volume}catch(e){Module.printErr("setGetVolume failed to set audio volume: "+e)}}}return ret}),setPannerPosition:(function(info,x,y,z){if(!info)return;if(info.audio){if(info.audio.webAudioPannerNode){info.audio.webAudioPannerNode["setPosition"](x,y,z)}}}),playWebAudio:(function(audio){if(!audio)return;if(audio.webAudioNode)return;if(!SDL.webAudioAvailable())return;try{var webAudio=audio.resource.webAudio;audio.paused=false;if(!webAudio.decodedBuffer){if(webAudio.onDecodeComplete===undefined)abort("Cannot play back audio object that was not loaded");webAudio.onDecodeComplete.push((function(){if(!audio.paused)SDL.playWebAudio(audio)}));return}audio.webAudioNode=SDL.audioContext["createBufferSource"]();audio.webAudioNode["buffer"]=webAudio.decodedBuffer;audio.webAudioNode["loop"]=audio.loop;audio.webAudioNode["onended"]=(function(){audio["onended"]()});audio.webAudioPannerNode=SDL.audioContext["createPanner"]();audio.webAudioPannerNode["setPosition"](0,0,-.5);audio.webAudioPannerNode["panningModel"]="equalpower";audio.webAudioGainNode=SDL.audioContext["createGain"]();audio.webAudioGainNode["gain"]["value"]=audio.volume;audio.webAudioNode["connect"](audio.webAudioPannerNode);audio.webAudioPannerNode["connect"](audio.webAudioGainNode);audio.webAudioGainNode["connect"](SDL.audioContext["destination"]);audio.webAudioNode["start"](0,audio.currentPosition);audio.startTime=SDL.audioContext["currentTime"]-audio.currentPosition}catch(e){Module.printErr("playWebAudio failed: "+e)}}),pauseWebAudio:(function(audio){if(!audio)return;if(audio.webAudioNode){try{audio.currentPosition=(SDL.audioContext["currentTime"]-audio.startTime)%audio.resource.webAudio.decodedBuffer.duration;audio.webAudioNode["onended"]=undefined;audio.webAudioNode.stop(0);audio.webAudioNode=undefined}catch(e){Module.printErr("pauseWebAudio failed: "+e)}}audio.paused=true}),openAudioContext:(function(){if(!SDL.audioContext){if(typeof AudioContext!=="undefined")SDL.audioContext=new AudioContext;else if(typeof webkitAudioContext!=="undefined")SDL.audioContext=new webkitAudioContext}}),webAudioAvailable:(function(){return!!SDL.audioContext}),fillWebAudioBufferFromHeap:(function(heapPtr,sizeSamplesPerChannel,dstAudioBuffer){var numChannels=SDL.audio.channels;for(var c=0;c<numChannels;++c){var channelData=dstAudioBuffer["getChannelData"](c);if(channelData.length!=sizeSamplesPerChannel){throw"Web Audio output buffer length mismatch! Destination size: "+channelData.length+" samples vs expected "+sizeSamplesPerChannel+" samples!"}if(SDL.audio.format==32784){for(var j=0;j<sizeSamplesPerChannel;++j){channelData[j]=HEAP16[heapPtr+(j*numChannels+c)*2>>1]/32768}}else if(SDL.audio.format==8){for(var j=0;j<sizeSamplesPerChannel;++j){var v=HEAP8[heapPtr+(j*numChannels+c)>>0];channelData[j]=(v>=0?v-128:v+128)/128}}}}),debugSurface:(function(surfData){console.log("dumping surface "+[surfData.surf,surfData.source,surfData.width,surfData.height]);var image=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);var data=image.data;var num=Math.min(surfData.width,surfData.height);for(var i=0;i<num;i++){console.log("   diagonal "+i+":"+[data[i*surfData.width*4+i*4+0],data[i*surfData.width*4+i*4+1],data[i*surfData.width*4+i*4+2],data[i*surfData.width*4+i*4+3]])}}),joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState:(function(joystick,state){var buttons=new Array(state.buttons.length);for(var i=0;i<state.buttons.length;i++){buttons[i]=SDL.getJoystickButtonState(state.buttons[i])}SDL.lastJoystickState[joystick]={buttons:buttons,axes:state.axes.slice(0),timestamp:state.timestamp,index:state.index,id:state.id}}),getJoystickButtonState:(function(button){if(typeof button==="object"){return button["pressed"]}else{return button>0}}),queryJoysticks:(function(){for(var joystick in SDL.lastJoystickState){var state=SDL.getGamepad(joystick-1);var prevState=SDL.lastJoystickState[joystick];if(typeof state==="undefined")return;if(typeof state.timestamp!=="number"||state.timestamp!==prevState.timestamp){var i;for(i=0;i<state.buttons.length;i++){var buttonState=SDL.getJoystickButtonState(state.buttons[i]);if(buttonState!==prevState.buttons[i]){SDL.events.push({type:buttonState?"joystick_button_down":"joystick_button_up",joystick:joystick,index:joystick-1,button:i})}}for(i=0;i<state.axes.length;i++){if(state.axes[i]!==prevState.axes[i]){SDL.events.push({type:"joystick_axis_motion",joystick:joystick,index:joystick-1,axis:i,value:state.axes[i]})}}SDL.recordJoystickState(joystick,state)}}}),joystickAxisValueConversion:(function(value){value=Math.min(1,Math.max(value,-1));return Math.ceil((value+1)*32767.5-32768)}),getGamepads:(function(){var fcn=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;if(fcn!==undefined){return fcn.apply(navigator)}else{return[]}}),getGamepad:(function(deviceIndex){var gamepads=SDL.getGamepads();if(gamepads.length>deviceIndex&&deviceIndex>=0){return gamepads[deviceIndex]}return null})};function _SDL_SetVideoMode(width,height,depth,flags){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","DOMMouseScroll","mousewheel","wheel","mouseout"].forEach((function(event){Module["canvas"].addEventListener(event,SDL.receiveEvent,true)}));var canvas=Module["canvas"];if(width==0&&height==0){width=canvas.width;height=canvas.height}if(!SDL.addedResizeListener){SDL.addedResizeListener=true;Browser.resizeListeners.push((function(w,h){if(!SDL.settingVideoMode){SDL.receiveEvent({type:"resize",w:w,h:h})}}))}if(width!==canvas.width||height!==canvas.height){SDL.settingVideoMode=true;Browser.setCanvasSize(width,height);SDL.settingVideoMode=false}if(SDL.screen){SDL.freeSurface(SDL.screen);assert(!SDL.screen)}if(SDL.GL)flags=flags|67108864;SDL.screen=SDL.makeSurface(width,height,flags,true,"screen");return SDL.screen}function ___lock(){}function ___unlock(){}function _SDL_UnlockSurface(surf){assert(!SDL.GL);var surfData=SDL.surfaces[surf];if(!surfData.locked||--surfData.locked>0){return}if(surfData.isFlagSet(2097152)){SDL.copyIndexedColorData(surfData)}else if(!surfData.colors){var data=surfData.image.data;var buffer=surfData.buffer;assert(buffer%4==0,"Invalid buffer offset: "+buffer);var src=buffer>>2;var dst=0;var isScreen=surf==SDL.screen;var num;if(typeof CanvasPixelArray!=="undefined"&&data instanceof CanvasPixelArray){num=data.length;while(dst<num){var val=HEAP32[src];data[dst]=val&255;data[dst+1]=val>>8&255;data[dst+2]=val>>16&255;data[dst+3]=isScreen?255:val>>24&255;src++;dst+=4}}else{var data32=new Uint32Array(data.buffer);if(isScreen&&SDL.defaults.opaqueFrontBuffer){num=data32.length;data32.set(HEAP32.subarray(src,src+num));var data8=new Uint8Array(data.buffer);var i=3;var j=i+4*num;if(num%8==0){while(i<j){data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0;data8[i]=255;i=i+4|0}}else{while(i<j){data8[i]=255;i=i+4|0}}}else{data32.set(HEAP32.subarray(src,src+data32.length))}}}else{var width=Module["canvas"].width;var height=Module["canvas"].height;var s=surfData.buffer;var data=surfData.image.data;var colors=surfData.colors;for(var y=0;y<height;y++){var base=y*width*4;for(var x=0;x<width;x++){var val=HEAPU8[s++>>0]*4;var start=base+x*4;data[start]=colors[val];data[start+1]=colors[val+1];data[start+2]=colors[val+2]}s+=width*3}}surfData.ctx.putImageData(surfData.image,0,0)}function _SDL_Flip(surf){}function _pthread_mutex_init(){}function _SDL_CreateRGBSurface(flags,width,height,depth,rmask,gmask,bmask,amask){return SDL.makeSurface(width,height,flags,false,"CreateRGBSurface",rmask,gmask,bmask,amask)}var SYSCALLS={varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_cond_init(){return 0}function _pthread_join(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function _SDL_Init(initFlags){SDL.startTime=Date.now();SDL.initFlags=initFlags;if(!Module["doNotCaptureKeyboard"]){var keyboardListeningElement=Module["keyboardListeningElement"]||document;keyboardListeningElement.addEventListener("keydown",SDL.receiveEvent);keyboardListeningElement.addEventListener("keyup",SDL.receiveEvent);keyboardListeningElement.addEventListener("keypress",SDL.receiveEvent);window.addEventListener("focus",SDL.receiveEvent);window.addEventListener("blur",SDL.receiveEvent);document.addEventListener("visibilitychange",SDL.receiveEvent)}if(initFlags&512){addEventListener("gamepadconnected",(function(){}))}window.addEventListener("unload",SDL.receiveEvent);SDL.keyboardState=_malloc(65536);_memset(SDL.keyboardState,0,65536);SDL.DOMEventToSDLEvent["keydown"]=768;SDL.DOMEventToSDLEvent["keyup"]=769;SDL.DOMEventToSDLEvent["keypress"]=771;SDL.DOMEventToSDLEvent["mousedown"]=1025;SDL.DOMEventToSDLEvent["mouseup"]=1026;SDL.DOMEventToSDLEvent["mousemove"]=1024;SDL.DOMEventToSDLEvent["wheel"]=1027;SDL.DOMEventToSDLEvent["touchstart"]=1792;SDL.DOMEventToSDLEvent["touchend"]=1793;SDL.DOMEventToSDLEvent["touchmove"]=1794;SDL.DOMEventToSDLEvent["unload"]=256;SDL.DOMEventToSDLEvent["resize"]=28673;SDL.DOMEventToSDLEvent["visibilitychange"]=512;SDL.DOMEventToSDLEvent["focus"]=512;SDL.DOMEventToSDLEvent["blur"]=512;SDL.DOMEventToSDLEvent["joystick_axis_motion"]=1536;SDL.DOMEventToSDLEvent["joystick_button_down"]=1539;SDL.DOMEventToSDLEvent["joystick_button_up"]=1540;return 0}function _pthread_cond_wait(){return 0}function _SDL_FreeSurface(surf){if(surf)SDL.freeSurface(surf)}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 offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;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 ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){___syscall146.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var GLctx;GL.init();Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Module.printErr("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)};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 self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}___buildEnvironment(ENV);__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cond_wait":_pthread_cond_wait,"_putenv":_putenv,"_pthread_join":_pthread_join,"_SDL_SetVideoMode":_SDL_SetVideoMode,"_IMG_Load":_IMG_Load,"_TTF_FontHeight":_TTF_FontHeight,"_SDL_CloseAudio":_SDL_CloseAudio,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_SDL_GetTicks":_SDL_GetTicks,"___buildEnvironment":___buildEnvironment,"_pthread_cond_init":_pthread_cond_init,"_SDL_LockSurface":_SDL_LockSurface,"___setErrNo":___setErrNo,"_pthread_cond_destroy":_pthread_cond_destroy,"_SDL_PauseAudio":_SDL_PauseAudio,"_SDL_Init":_SDL_Init,"_SDL_FreeSurface":_SDL_FreeSurface,"_Mix_PlayChannel":_Mix_PlayChannel,"_TTF_RenderText_Solid":_TTF_RenderText_Solid,"_Mix_LoadWAV_RW":_Mix_LoadWAV_RW,"_IMG_Load_RW":_IMG_Load_RW,"_Mix_PlayMusic":_Mix_PlayMusic,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_pthread_cond_signal":_pthread_cond_signal,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_SDL_UpperBlit":_SDL_UpperBlit,"___syscall54":___syscall54,"___unlock":___unlock,"___syscall140":___syscall140,"_pthread_create":_pthread_create,"_emscripten_set_main_loop":_emscripten_set_main_loop,"_emscripten_get_now":_emscripten_get_now,"_SDL_CreateRGBSurface":_SDL_CreateRGBSurface,"_TTF_SizeText":_TTF_SizeText,"___lock":___lock,"_SDL_UnlockSurface":_SDL_UnlockSurface,"___syscall6":___syscall6,"_Mix_FreeChunk":_Mix_FreeChunk,"_Mix_HaltMusic":_Mix_HaltMusic,"_getenv":_getenv,"_SDL_Flip":_SDL_Flip,"_SDL_FreeRW":_SDL_FreeRW,"_SDL_UpperBlitScaled":_SDL_UpperBlitScaled,"_pthread_mutex_init":_pthread_mutex_init,"_SDL_RWFromConstMem":_SDL_RWFromConstMem,"___syscall146":___syscall146,"_SDL_RWFromFile":_SDL_RWFromFile,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
  var asm=(function(global,env,buffer) {
  "almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=env.abort;var aa=env.assert;var ba=env.enlargeMemory;var ca=env.getTotalMemory;var da=env.abortOnCannotGrowMemory;var ea=env.invoke_iiii;var fa=env.invoke_viiiii;var ga=env.invoke_vi;var ha=env.invoke_vii;var ia=env.invoke_iiiiiii;var ja=env.invoke_ii;var ka=env.invoke_viii;var la=env.invoke_viiiiiiiii;var ma=env.invoke_iiiii;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_cond_wait;var ra=env._putenv;var sa=env._pthread_join;var ta=env._SDL_SetVideoMode;var ua=env._IMG_Load;var va=env._TTF_FontHeight;var wa=env._SDL_CloseAudio;var xa=env._emscripten_set_main_loop_timing;var ya=env._SDL_GetTicks;var za=env.___buildEnvironment;var Aa=env._pthread_cond_init;var Ba=env._SDL_LockSurface;var Ca=env.___setErrNo;var Da=env._pthread_cond_destroy;var Ea=env._SDL_PauseAudio;var Fa=env._SDL_Init;var Ga=env._SDL_FreeSurface;var Ha=env._Mix_PlayChannel;var Ia=env._TTF_RenderText_Solid;var Ja=env._Mix_LoadWAV_RW;var Ka=env._IMG_Load_RW;var La=env._Mix_PlayMusic;var Ma=env._emscripten_memcpy_big;var Na=env._pthread_cond_signal;var Oa=env._pthread_mutex_destroy;var Pa=env._SDL_UpperBlit;var Qa=env.___syscall54;var Ra=env.___unlock;var Sa=env.___syscall140;var Ta=env._pthread_create;var Ua=env._emscripten_set_main_loop;var Va=env._emscripten_get_now;var Wa=env._SDL_CreateRGBSurface;var Xa=env._TTF_SizeText;var Ya=env.___lock;var Za=env._SDL_UnlockSurface;var _a=env.___syscall6;var $a=env._Mix_FreeChunk;var ab=env._Mix_HaltMusic;var bb=env._getenv;var cb=env._SDL_Flip;var db=env._SDL_FreeRW;var eb=env._SDL_UpperBlitScaled;var fb=env._pthread_mutex_init;var gb=env._SDL_RWFromConstMem;var hb=env.___syscall146;var ib=env._SDL_RWFromFile;var jb=0.0;function kb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true}
  // EMSCRIPTEN_START_FUNCS
  function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,pb=0,qb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0;d=f[c+4>>2]|0;e=f[c>>2]|0;g=f[a+2264>>2]|0;i=g+40|0;k=g+584|0;b[g+39>>0]=-127;b[g+71>>0]=-127;b[g+103>>0]=-127;b[g+135>>0]=-127;b[g+167>>0]=-127;b[g+199>>0]=-127;b[g+231>>0]=-127;b[g+263>>0]=-127;b[g+295>>0]=-127;b[g+327>>0]=-127;b[g+359>>0]=-127;b[g+391>>0]=-127;b[g+423>>0]=-127;b[g+455>>0]=-127;b[g+487>>0]=-127;b[g+519>>0]=-127;l=g+600|0;b[g+583>>0]=-127;b[g+599>>0]=-127;b[g+615>>0]=-127;b[g+631>>0]=-127;b[g+647>>0]=-127;b[g+663>>0]=-127;b[g+679>>0]=-127;b[g+695>>0]=-127;b[g+711>>0]=-127;b[g+727>>0]=-127;b[g+743>>0]=-127;b[g+759>>0]=-127;b[g+775>>0]=-127;b[g+791>>0]=-127;b[g+807>>0]=-127;b[g+823>>0]=-127;m=(d|0)>0;if(m){b[g+567>>0]=-127;b[g+551>>0]=-127;b[g+7>>0]=-127}else{n=g+7|0;o=n+21|0;do{b[n>>0]=127;n=n+1|0}while((n|0)<(o|0));n=g+551|0;o=n+9|0;do{b[n>>0]=127;n=n+1|0}while((n|0)<(o|0));n=g+567|0;o=n+9|0;do{b[n>>0]=127;n=n+1|0}while((n|0)<(o|0))}p=a+288|0;if((f[p>>2]|0)<=0)return;q=c+16|0;c=a+2252|0;r=g+8|0;s=g+552|0;t=g+568|0;u=(d|0)==0;v=u?6:5;w=u?4:0;u=a+292|0;x=g+520|0;y=g+808|0;z=g+824|0;A=e<<4;B=a+2280|0;C=e<<3;e=a+2284|0;D=a+2268|0;E=a+2272|0;F=a+2276|0;a=g+24|0;G=g+408|0;H=g+280|0;I=g+152|0;J=g+4|0;K=g+20|0;L=g+36|0;M=g+52|0;N=g+68|0;O=g+84|0;P=g+100|0;Q=g+116|0;R=g+132|0;S=g+148|0;T=g+164|0;U=g+180|0;V=g+196|0;W=g+212|0;Y=g+228|0;Z=g+244|0;_=g+260|0;$=g+276|0;aa=g+292|0;ba=g+308|0;ca=g+324|0;da=g+340|0;ea=g+356|0;fa=g+372|0;ga=g+388|0;ha=g+404|0;ia=g+420|0;ja=g+436|0;ka=g+452|0;la=g+468|0;ma=g+484|0;na=g+500|0;oa=g+516|0;pa=g+532|0;qa=g+548|0;ra=g+556|0;sa=g+564|0;ta=g+572|0;ua=g+580|0;va=g+588|0;wa=g+596|0;xa=g+604|0;ya=g+612|0;za=g+620|0;Aa=g+628|0;Ba=g+636|0;Ca=g+644|0;Da=g+652|0;Ea=g+660|0;Fa=g+668|0;Ga=g+676|0;Ha=g+684|0;Ia=g+692|0;Ja=g+700|0;Ka=g+708|0;La=g+716|0;Ma=g+724|0;Na=g+732|0;Oa=g+740|0;Pa=g+748|0;Qa=g+756|0;Ra=g+764|0;Sa=g+772|0;Ta=g+780|0;Ua=g+788|0;Va=g+796|0;Wa=g+804|0;Xa=g+812|0;Ya=g+820|0;Za=g+828|0;_a=g+72|0;$a=g+104|0;ab=g+136|0;bb=g+168|0;cb=g+200|0;db=g+232|0;eb=g+264|0;fb=g+296|0;gb=g+328|0;hb=g+360|0;ib=g+392|0;jb=g+424|0;kb=g+456|0;lb=g+488|0;mb=g+520|0;pb=g+616|0;qb=g+632|0;sb=g+648|0;tb=g+664|0;ub=g+680|0;vb=g+696|0;wb=g+712|0;xb=g+728|0;yb=g+744|0;zb=g+760|0;Ab=g+776|0;Bb=g+792|0;Cb=g+808|0;Db=g+824|0;g=0;do{Eb=f[q>>2]|0;if((g|0)>0){Fb=h[K>>0]|h[K+1>>0]<<8|h[K+2>>0]<<16|h[K+3>>0]<<24;b[J>>0]=Fb;b[J+1>>0]=Fb>>8;b[J+2>>0]=Fb>>16;b[J+3>>0]=Fb>>24;Fb=h[M>>0]|h[M+1>>0]<<8|h[M+2>>0]<<16|h[M+3>>0]<<24;b[L>>0]=Fb;b[L+1>>0]=Fb>>8;b[L+2>>0]=Fb>>16;b[L+3>>0]=Fb>>24;Fb=h[O>>0]|h[O+1>>0]<<8|h[O+2>>0]<<16|h[O+3>>0]<<24;b[N>>0]=Fb;b[N+1>>0]=Fb>>8;b[N+2>>0]=Fb>>16;b[N+3>>0]=Fb>>24;Fb=h[Q>>0]|h[Q+1>>0]<<8|h[Q+2>>0]<<16|h[Q+3>>0]<<24;b[P>>0]=Fb;b[P+1>>0]=Fb>>8;b[P+2>>0]=Fb>>16;b[P+3>>0]=Fb>>24;Fb=h[S>>0]|h[S+1>>0]<<8|h[S+2>>0]<<16|h[S+3>>0]<<24;b[R>>0]=Fb;b[R+1>>0]=Fb>>8;b[R+2>>0]=Fb>>16;b[R+3>>0]=Fb>>24;Fb=h[U>>0]|h[U+1>>0]<<8|h[U+2>>0]<<16|h[U+3>>0]<<24;b[T>>0]=Fb;b[T+1>>0]=Fb>>8;b[T+2>>0]=Fb>>16;b[T+3>>0]=Fb>>24;Fb=h[W>>0]|h[W+1>>0]<<8|h[W+2>>0]<<16|h[W+3>>0]<<24;b[V>>0]=Fb;b[V+1>>0]=Fb>>8;b[V+2>>0]=Fb>>16;b[V+3>>0]=Fb>>24;Fb=h[Z>>0]|h[Z+1>>0]<<8|h[Z+2>>0]<<16|h[Z+3>>0]<<24;b[Y>>0]=Fb;b[Y+1>>0]=Fb>>8;b[Y+2>>0]=Fb>>16;b[Y+3>>0]=Fb>>24;Fb=h[$>>0]|h[$+1>>0]<<8|h[$+2>>0]<<16|h[$+3>>0]<<24;b[_>>0]=Fb;b[_+1>>0]=Fb>>8;b[_+2>>0]=Fb>>16;b[_+3>>0]=Fb>>24;Fb=h[ba>>0]|h[ba+1>>0]<<8|h[ba+2>>0]<<16|h[ba+3>>0]<<24;b[aa>>0]=Fb;b[aa+1>>0]=Fb>>8;b[aa+2>>0]=Fb>>16;b[aa+3>>0]=Fb>>24;Fb=h[da>>0]|h[da+1>>0]<<8|h[da+2>>0]<<16|h[da+3>>0]<<24;b[ca>>0]=Fb;b[ca+1>>0]=Fb>>8;b[ca+2>>0]=Fb>>16;b[ca+3>>0]=Fb>>24;Fb=h[fa>>0]|h[fa+1>>0]<<8|h[fa+2>>0]<<16|h[fa+3>>0]<<24;b[ea>>0]=Fb;b[ea+1>>0]=Fb>>8;b[ea+2>>0]=Fb>>16;b[ea+3>>0]=Fb>>24;Fb=h[ha>>0]|h[ha+1>>0]<<8|h[ha+2>>0]<<16|h[ha+3>>0]<<24;b[ga>>0]=Fb;b[ga+1>>0]=Fb>>8;b[ga+2>>0]=Fb>>16;b[ga+3>>0]=Fb>>24;Fb=h[ja>>0]|h[ja+1>>0]<<8|h[ja+2>>0]<<16|h[ja+3>>0]<<24;b[ia>>0]=Fb;b[ia+1>>0]=Fb>>8;b[ia+2>>0]=Fb>>16;b[ia+3>>0]=Fb>>24;Fb=h[la>>0]|h[la+1>>0]<<8|h[la+2>>0]<<16|h[la+3>>0]<<24;b[ka>>0]=Fb;b[ka+1>>0]=Fb>>8;b[ka+2>>0]=Fb>>16;b[ka+3>>0]=Fb>>24;Fb=h[na>>0]|h[na+1>>0]<<8|h[na+2>>0]<<16|h[na+3>>0]<<24;b[ma>>0]=Fb;b[ma+1>>0]=Fb>>8;b[ma+2>>0]=Fb>>16;b[ma+3>>0]=Fb>>24;Fb=h[pa>>0]|h[pa+1>>0]<<8|h[pa+2>>0]<<16|h[pa+3>>0]<<24;b[oa>>0]=Fb;b[oa+1>>0]=Fb>>8;b[oa+2>>0]=Fb>>16;b[oa+3>>0]=Fb>>24;Fb=h[ra>>0]|h[ra+1>>0]<<8|h[ra+2>>0]<<16|h[ra+3>>0]<<24;b[qa>>0]=Fb;b[qa+1>>0]=Fb>>8;b[qa+2>>0]=Fb>>16;b[qa+3>>0]=Fb>>24;Fb=h[ta>>0]|h[ta+1>>0]<<8|h[ta+2>>0]<<16|h[ta+3>>0]<<24;b[sa>>0]=Fb;b[sa+1>>0]=Fb>>8;b[sa+2>>0]=Fb>>16;b[sa+3>>0]=Fb>>24;Fb=h[va>>0]|h[va+1>>0]<<8|h[va+2>>0]<<16|h[va+3>>0]<<24;b[ua>>0]=Fb;b[ua+1>>0]=Fb>>8;b[ua+2>>0]=Fb>>16;b[ua+3>>0]=Fb>>24;Fb=h[xa>>0]|h[xa+1>>0]<<8|h[xa+2>>0]<<16|h[xa+3>>0]<<24;b[wa>>0]=Fb;b[wa+1>>0]=Fb>>8;b[wa+2>>0]=Fb>>16;b[wa+3>>0]=Fb>>24;Fb=h[za>>0]|h[za+1>>0]<<8|h[za+2>>0]<<16|h[za+3>>0]<<24;b[ya>>0]=Fb;b[ya+1>>0]=Fb>>8;b[ya+2>>0]=Fb>>16;b[ya+3>>0]=Fb>>24;Fb=h[Ba>>0]|h[Ba+1>>0]<<8|h[Ba+2>>0]<<16|h[Ba+3>>0]<<24;b[Aa>>0]=Fb;b[Aa+1>>0]=Fb>>8;b[Aa+2>>0]=Fb>>16;b[Aa+3>>0]=Fb>>24;Fb=h[Da>>0]|h[Da+1>>0]<<8|h[Da+2>>0]<<16|h[Da+3>>0]<<24;b[Ca>>0]=Fb;b[Ca+1>>0]=Fb>>8;b[Ca+2>>0]=Fb>>16;b[Ca+3>>0]=Fb>>24;Fb=h[Fa>>0]|h[Fa+1>>0]<<8|h[Fa+2>>0]<<16|h[Fa+3>>0]<<24;b[Ea>>0]=Fb;b[Ea+1>>0]=Fb>>8;b[Ea+2>>0]=Fb>>16;b[Ea+3>>0]=Fb>>24;Fb=h[Ha>>0]|h[Ha+1>>0]<<8|h[Ha+2>>0]<<16|h[Ha+3>>0]<<24;b[Ga>>0]=Fb;b[Ga+1>>0]=Fb>>8;b[Ga+2>>0]=Fb>>16;b[Ga+3>>0]=Fb>>24;Fb=h[Ja>>0]|h[Ja+1>>0]<<8|h[Ja+2>>0]<<16|h[Ja+3>>0]<<24;b[Ia>>0]=Fb;b[Ia+1>>0]=Fb>>8;b[Ia+2>>0]=Fb>>16;b[Ia+3>>0]=Fb>>24;Fb=h[La>>0]|h[La+1>>0]<<8|h[La+2>>0]<<16|h[La+3>>0]<<24;b[Ka>>0]=Fb;b[Ka+1>>0]=Fb>>8;b[Ka+2>>0]=Fb>>16;b[Ka+3>>0]=Fb>>24;Fb=h[Na>>0]|h[Na+1>>0]<<8|h[Na+2>>0]<<16|h[Na+3>>0]<<24;b[Ma>>0]=Fb;b[Ma+1>>0]=Fb>>8;b[Ma+2>>0]=Fb>>16;b[Ma+3>>0]=Fb>>24;Fb=h[Pa>>0]|h[Pa+1>>0]<<8|h[Pa+2>>0]<<16|h[Pa+3>>0]<<24;b[Oa>>0]=Fb;b[Oa+1>>0]=Fb>>8;b[Oa+2>>0]=Fb>>16;b[Oa+3>>0]=Fb>>24;Fb=h[Ra>>0]|h[Ra+1>>0]<<8|h[Ra+2>>0]<<16|h[Ra+3>>0]<<24;b[Qa>>0]=Fb;b[Qa+1>>0]=Fb>>8;b[Qa+2>>0]=Fb>>16;b[Qa+3>>0]=Fb>>24;Fb=h[Ta>>0]|h[Ta+1>>0]<<8|h[Ta+2>>0]<<16|h[Ta+3>>0]<<24;b[Sa>>0]=Fb;b[Sa+1>>0]=Fb>>8;b[Sa+2>>0]=Fb>>16;b[Sa+3>>0]=Fb>>24;Fb=h[Va>>0]|h[Va+1>>0]<<8|h[Va+2>>0]<<16|h[Va+3>>0]<<24;b[Ua>>0]=Fb;b[Ua+1>>0]=Fb>>8;b[Ua+2>>0]=Fb>>16;b[Ua+3>>0]=Fb>>24;Fb=h[Xa>>0]|h[Xa+1>>0]<<8|h[Xa+2>>0]<<16|h[Xa+3>>0]<<24;b[Wa>>0]=Fb;b[Wa+1>>0]=Fb>>8;b[Wa+2>>0]=Fb>>16;b[Wa+3>>0]=Fb>>24;Fb=h[Za>>0]|h[Za+1>>0]<<8|h[Za+2>>0]<<16|h[Za+3>>0]<<24;b[Ya>>0]=Fb;b[Ya+1>>0]=Fb>>8;b[Ya+2>>0]=Fb>>16;b[Ya+3>>0]=Fb>>24}Fb=f[c>>2]|0;Gb=Fb+(g<<5)|0;Hb=f[Eb+(g*800|0)+788>>2]|0;if(m){n=r;Ib=Gb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));Jb=Fb+(g<<5)+16|0;Kb=Jb;Lb=h[Kb>>0]|h[Kb+1>>0]<<8|h[Kb+2>>0]<<16|h[Kb+3>>0]<<24;Kb=Jb+4|0;Jb=h[Kb>>0]|h[Kb+1>>0]<<8|h[Kb+2>>0]<<16|h[Kb+3>>0]<<24;Kb=s;Mb=Kb;b[Mb>>0]=Lb;b[Mb+1>>0]=Lb>>8;b[Mb+2>>0]=Lb>>16;b[Mb+3>>0]=Lb>>24;Lb=Kb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=Fb+(g<<5)+24|0;Lb=Jb;Kb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=t;Mb=Lb;b[Mb>>0]=Kb;b[Mb+1>>0]=Kb>>8;b[Mb+2>>0]=Kb>>16;b[Mb+3>>0]=Kb>>24;Kb=Lb+4|0;b[Kb>>0]=Jb;b[Kb+1>>0]=Jb>>8;b[Kb+2>>0]=Jb>>16;b[Kb+3>>0]=Jb>>24}a:do if(!(b[Eb+(g*800|0)+768>>0]|0)){Jb=b[Eb+(g*800|0)+769>>0]|0;nb[f[11580+((Jb<<24>>24==0?((g|0)==0?v:w):Jb&255)<<2)>>2]&31](i);if(Hb|0){Jb=Hb;Kb=0;while(1){Lb=Eb+(g*800|0)+(Kb<<4<<1)|0;Mb=i+(j[954+(Kb<<1)>>1]|0)|0;switch(Jb>>>30&3){case 3:{rb[f[2919]&31](Lb,Mb,0);break}case 2:{ob[f[2920]&15](Lb,Mb);break}case 1:{ob[f[2922]&15](Lb,Mb);break}default:{}}Kb=Kb+1|0;if((Kb|0)==16)break a;else Jb=Jb<<2}}}else{do if(m)if((g|0)<((f[p>>2]|0)+-1|0)){Jb=Gb+32|0;Kb=h[Jb>>0]|h[Jb+1>>0]<<8|h[Jb+2>>0]<<16|h[Jb+3>>0]<<24;b[a>>0]=Kb;b[a+1>>0]=Kb>>8;b[a+2>>0]=Kb>>16;b[a+3>>0]=Kb>>24;Nb=Kb;break}else{Kb=b[Fb+(g<<5)+15>>0]|0;ph(a|0,Kb|0,4)|0;Jb=Kb&255;Kb=Jb|Jb<<8;Nb=Kb|Kb<<16;break}else Nb=f[a>>2]|0;while(0);f[G>>2]=Nb;f[H>>2]=Nb;f[I>>2]=Nb;Kb=Hb;Jb=0;while(1){Mb=i+(j[954+(Jb<<1)>>1]|0)|0;nb[f[11608+((b[Eb+(g*800|0)+769+Jb>>0]&255)<<2)>>2]&31](Mb);Lb=Eb+(g*800|0)+(Jb<<4<<1)|0;switch(Kb>>>30&3){case 3:{rb[f[2919]&31](Lb,Mb,0);break}case 2:{ob[f[2920]&15](Lb,Mb);break}case 1:{ob[f[2922]&15](Lb,Mb);break}default:{}}Jb=Jb+1|0;if((Jb|0)==16)break a;else Kb=Kb<<2}}while(0);Hb=f[Eb+(g*800|0)+792>>2]|0;Kb=b[Eb+(g*800|0)+785>>0]|0;Jb=11648+((Kb<<24>>24==0?((g|0)==0?v:w):Kb&255)<<2)|0;nb[f[Jb>>2]&31](k);nb[f[Jb>>2]&31](l);Jb=Eb+(g*800|0)+512|0;do if(Hb&255|0)if(!(Hb&170)){ob[f[2923]&15](Jb,k);break}else{ob[f[2921]&15](Jb,k);break}while(0);Jb=Hb>>>8;Kb=Eb+(g*800|0)+640|0;do if(Jb&255|0)if(!(Jb&170)){ob[f[2923]&15](Kb,l);break}else{ob[f[2921]&15](Kb,l);break}while(0);if((d|0)<((f[u>>2]|0)+-1|0)){n=Gb;Ib=x;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));Gb=y;Kb=Gb;Jb=h[Kb>>0]|h[Kb+1>>0]<<8|h[Kb+2>>0]<<16|h[Kb+3>>0]<<24;Kb=Gb+4|0;Gb=h[Kb>>0]|h[Kb+1>>0]<<8|h[Kb+2>>0]<<16|h[Kb+3>>0]<<24;Kb=Fb+(g<<5)+16|0;Eb=Kb;b[Eb>>0]=Jb;b[Eb+1>>0]=Jb>>8;b[Eb+2>>0]=Jb>>16;b[Eb+3>>0]=Jb>>24;Jb=Kb+4|0;b[Jb>>0]=Gb;b[Jb+1>>0]=Gb>>8;b[Jb+2>>0]=Gb>>16;b[Jb+3>>0]=Gb>>24;Gb=z;Jb=Gb;Kb=h[Jb>>0]|h[Jb+1>>0]<<8|h[Jb+2>>0]<<16|h[Jb+3>>0]<<24;Jb=Gb+4|0;Gb=h[Jb>>0]|h[Jb+1>>0]<<8|h[Jb+2>>0]<<16|h[Jb+3>>0]<<24;Jb=Fb+(g<<5)+24|0;Eb=Jb;b[Eb>>0]=Kb;b[Eb+1>>0]=Kb>>8;b[Eb+2>>0]=Kb>>16;b[Eb+3>>0]=Kb>>24;Kb=Jb+4|0;b[Kb>>0]=Gb;b[Kb+1>>0]=Gb>>8;b[Kb+2>>0]=Gb>>16;b[Kb+3>>0]=Gb>>24}Gb=X(A,f[B>>2]|0)|0;Kb=f[e>>2]|0;Jb=(f[D>>2]|0)+(g<<4)+Gb|0;Gb=g<<3;Eb=(f[E>>2]|0)+Gb|0;Hb=(f[F>>2]|0)+Gb|0;n=Jb;Ib=i;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+(f[B>>2]|0)|0;Ib=_a;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+(f[B>>2]<<1)|0;Ib=$a;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*3|0)|0;Ib=ab;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+(f[B>>2]<<2)|0;Ib=bb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*5|0)|0;Ib=cb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*6|0)|0;Ib=db;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*7|0)|0;Ib=eb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+(f[B>>2]<<3)|0;Ib=fb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*9|0)|0;Ib=gb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*10|0)|0;Ib=hb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*11|0)|0;Ib=ib;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*12|0)|0;Ib=jb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*13|0)|0;Ib=kb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*14|0)|0;Ib=lb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));n=Jb+((f[B>>2]|0)*15|0)|0;Ib=mb;o=n+16|0;do{b[n>>0]=b[Ib>>0]|0;n=n+1|0;Ib=Ib+1|0}while((n|0)<(o|0));Jb=X(Kb,C)|0;Fb=Eb+Jb|0;Gb=Hb+Jb|0;Jb=k;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=l;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=pb;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+(f[e>>2]|0)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=qb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+(f[e>>2]|0)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=sb;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+(f[e>>2]<<1)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=tb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+(f[e>>2]<<1)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=ub;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+((f[e>>2]|0)*3|0)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=vb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+((f[e>>2]|0)*3|0)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=wb;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+(f[e>>2]<<2)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=xb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+(f[e>>2]<<2)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=yb;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+((f[e>>2]|0)*5|0)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=zb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+((f[e>>2]|0)*5|0)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=Ab;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+((f[e>>2]|0)*6|0)|0;Ob=Mb;b[Ob>>0]=Lb;b[Ob+1>>0]=Lb>>8;b[Ob+2>>0]=Lb>>16;b[Ob+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=Bb;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+((f[e>>2]|0)*6|0)|0;Ob=Lb;b[Ob>>0]=Mb;b[Ob+1>>0]=Mb>>8;b[Ob+2>>0]=Mb>>16;b[Ob+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;Jb=Cb;Mb=Jb;Lb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Jb+4|0;Jb=h[Mb>>0]|h[Mb+1>>0]<<8|h[Mb+2>>0]<<16|h[Mb+3>>0]<<24;Mb=Fb+((f[e>>2]|0)*7|0)|0;Fb=Mb;b[Fb>>0]=Lb;b[Fb+1>>0]=Lb>>8;b[Fb+2>>0]=Lb>>16;b[Fb+3>>0]=Lb>>24;Lb=Mb+4|0;b[Lb>>0]=Jb;b[Lb+1>>0]=Jb>>8;b[Lb+2>>0]=Jb>>16;b[Lb+3>>0]=Jb>>24;Jb=Db;Lb=Jb;Mb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Jb+4|0;Jb=h[Lb>>0]|h[Lb+1>>0]<<8|h[Lb+2>>0]<<16|h[Lb+3>>0]<<24;Lb=Gb+((f[e>>2]|0)*7|0)|0;Gb=Lb;b[Gb>>0]=Mb;b[Gb+1>>0]=Mb>>8;b[Gb+2>>0]=Mb>>16;b[Gb+3>>0]=Mb>>24;Mb=Lb+4|0;b[Mb>>0]=Jb;b[Mb+1>>0]=Jb>>8;b[Mb+2>>0]=Jb>>16;b[Mb+3>>0]=Jb>>24;g=g+1|0}while((g|0)<(f[p>>2]|0));return}function ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0;d=u;u=u+64|0;e=d;g=a+160|0;i=f[g>>2]|0;j=a+2308|0;k=b[5345+(f[j>>2]|0)>>0]|0;l=k&255;m=a+2280|0;n=f[m>>2]|0;o=X(l,n)|0;p=a+2284|0;q=f[p>>2]|0;r=X((k&255)>>>1&255,q)|0;k=X(n,i<<4)|0;n=X(q,i<<3)|0;q=a+2268|0;s=0-o|0;t=(f[q>>2]|0)+s+k|0;v=a+2272|0;w=0-r|0;x=(f[v>>2]|0)+w+n|0;y=a+2276|0;z=(f[y>>2]|0)+w+n|0;A=a+164|0;B=f[A>>2]|0;C=(B|0)==0;D=(B|0)>=((f[a+308>>2]|0)+-1|0);if((f[a+148>>2]|0)==2)te(a,g);if(f[a+168>>2]|0?(E=f[a+296>>2]|0,F=a+304|0,(E|0)<(f[F>>2]|0)):0){G=a+172|0;H=(f[A>>2]|0)>0;A=E;do{E=f[g>>2]|0;I=f[m>>2]|0;J=f[G>>2]|0;K=(f[q>>2]|0)+(X(E<<4,I)|0)+(A<<4)|0;L=h[J+(A<<2)+1>>0]|0;M=b[J+(A<<2)>>0]|0;N=M&255;do if(M<<24>>24){O=(A|0)>0;if((f[j>>2]|0)==1){if(O)rb[f[2933]&31](K,I,N+4|0);P=J+(A<<2)+2|0;if(b[P>>0]|0)rb[f[2935]&31](K,I,N);if(H)rb[f[2932]&31](K,I,N+4|0);if(!(b[P>>0]|0))break;rb[f[2934]&31](K,I,N);break}else{P=f[p>>2]|0;Q=X(P,E<<3)|0;R=A<<3;S=(f[v>>2]|0)+Q+R|0;T=(f[y>>2]|0)+Q+R|0;R=h[J+(A<<2)+3>>0]|0;Q=N+4|0;if(O){mb[f[2925]&31](K,I,Q,L,R);ub[f[2927]&15](S,T,P,Q,L,R)}O=J+(A<<2)+2|0;if(b[O>>0]|0){mb[f[2929]&31](K,I,N,L,R);ub[f[2931]&15](S,T,P,N,L,R)}if(H){mb[f[2924]&31](K,I,Q,L,R);ub[f[2926]&15](S,T,P,Q,L,R)}if(!(b[O>>0]|0))break;mb[f[2928]&31](K,I,N,L,R);ub[f[2930]&15](S,T,P,N,L,R);break}}while(0);A=A+1|0}while((A|0)<(f[F>>2]|0))}if(f[a+540>>2]|0?(F=f[a+296>>2]|0,A=a+304|0,H=f[A>>2]|0,(F|0)<(H|0)):0){j=a+176|0;G=a+544|0;L=a+548|0;N=F;F=H;while(1){H=f[p>>2]|0;I=(f[j>>2]|0)+(N*800|0)+796|0;K=b[I>>0]|0;if((K&255)>3){J=K&255;K=f[v>>2]|0;E=X(f[g>>2]<<3,H)|0;M=f[y>>2]|0;R=0;P=f[G>>2]|0;T=f[L>>2]|0;do{S=a+552+(P<<2)|0;O=(f[S>>2]|0)-(f[a+552+(T<<2)>>2]|0)|0;f[S>>2]=O&2147483647;S=(f[G>>2]|0)+1|0;P=(S|0)==55?0:S;f[G>>2]=P;S=(f[L>>2]|0)+1|0;T=(S|0)==55?0:S;f[L>>2]=T;S=((X(O<<1>>24,J)|0)>>>8)+128&255;b[e+R>>0]=S;R=R+1|0}while((R|0)!=64);R=N<<3;rb[f[2936]&31](e,K+E+R|0,H);J=h[I>>0]|0;T=0;P=f[G>>2]|0;S=f[L>>2]|0;do{O=a+552+(P<<2)|0;Q=(f[O>>2]|0)-(f[a+552+(S<<2)>>2]|0)|0;f[O>>2]=Q&2147483647;O=(f[G>>2]|0)+1|0;P=(O|0)==55?0:O;f[G>>2]=P;O=(f[L>>2]|0)+1|0;S=(O|0)==55?0:O;f[L>>2]=S;O=((X(Q<<1>>24,J)|0)>>>8)+128&255;b[e+T>>0]=O;T=T+1|0}while((T|0)!=64);rb[f[2936]&31](e,M+E+R|0,H);U=f[A>>2]|0}else U=F;N=N+1|0;if((N|0)>=(U|0))break;else F=U}}U=c+44|0;if(f[U>>2]|0){F=B<<4;if(C){f[c+20>>2]=(f[q>>2]|0)+k;f[c+24>>2]=(f[v>>2]|0)+n;V=F;W=(f[y>>2]|0)+n|0}else{f[c+20>>2]=t;f[c+24>>2]=x;V=F-l|0;W=z}n=c+28|0;f[n>>2]=W;W=F+16+(D?0:0-l|0)|0;l=f[c+88>>2]|0;F=(W|0)>(l|0)?l:W;W=c+104|0;f[W>>2]=0;if((f[a+2348>>2]|0)!=0&(F|0)>(V|0)){l=Lb(a,c,V,F-V|0)|0;f[W>>2]=l;if(!l){Y=De(a,3,5348)|0;u=d;return Y|0}else Z=l}else Z=0;l=f[c+84>>2]|0;if((l|0)>(V|0)){k=l-V|0;C=X(f[m>>2]|0,k)|0;B=c+20|0;f[B>>2]=(f[B>>2]|0)+C;C=X(f[p>>2]|0,k>>1)|0;B=c+24|0;f[B>>2]=(f[B>>2]|0)+C;f[n>>2]=(f[n>>2]|0)+C;if(!Z){_=l;$=0}else{C=Z+(X(f[c>>2]|0,k)|0)|0;f[W>>2]=C;_=l;$=C}}else{_=V;$=Z}if((F|0)>(_|0)){Z=f[c+76>>2]|0;V=c+20|0;f[V>>2]=(f[V>>2]|0)+Z;V=Z>>1;C=c+24|0;f[C>>2]=(f[C>>2]|0)+V;f[n>>2]=(f[n>>2]|0)+V;if($|0)f[W>>2]=$+Z;f[c+8>>2]=_-l;f[c+12>>2]=(f[c+80>>2]|0)-Z;f[c+16>>2]=F-_;aa=qb[f[U>>2]&7](c)|0}else aa=1}else aa=1;if(D|(i+1|0)!=(f[a+156>>2]|0)){Y=aa;u=d;return Y|0}sh((f[q>>2]|0)+s|0,t+(f[m>>2]<<4)|0,o|0)|0;sh((f[v>>2]|0)+w|0,x+(f[p>>2]<<3)|0,r|0)|0;sh((f[y>>2]|0)+w|0,z+(f[p>>2]<<3)|0,r|0)|0;Y=aa;u=d;return Y|0}function ve(){return 372}function we(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=a+20|0;f[b>>2]=0;c=a+4|0;switch(f[c>>2]|0){case 0:{d=Mb(1,0,80)|0;f[a>>2]=d;if(!d){e=0;g=e&1;return g|0}do if(!(fb(d|0,0)|0)){h=d+28|0;if(Aa(h|0,0)|0){Oa(d|0)|0;break}qh(d|0)|0;if(Ta(d+76|0,0,6,a|0)|0){Ch(d|0)|0;Oa(d|0)|0;Da(h|0)|0;break}f[c>>2]=1;Ch(d|0)|0;e=1;g=e&1;return g|0}while(0);Gb(d);f[a>>2]=0;e=0;g=e&1;return g|0}case 1:{e=1;g=e&1;return g|0}default:{d=f[a>>2]|0;if(!d){e=1;g=e&1;return g|0}qh(d|0)|0;if((f[c>>2]|0)>>>0>=2){a=d+28|0;do qa(a|0,d|0)|0;while((f[c>>2]|0)!=1)}Ch(d|0)|0;e=(f[b>>2]|0)==0;g=e&1;return g|0}}return 0}function ye(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;if(b|0){qh(b|0)|0;c=a+4|0;if((f[c>>2]|0)>>>0>=2){d=b+28|0;do qa(d|0,b|0)|0;while((f[c>>2]|0)!=1)}Ch(b|0)|0}return (f[a+20>>2]|0)==0|0}function ze(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;if(!b)return;qh(b|0)|0;c=a+4|0;switch(f[c>>2]|0){case 0:break;case 1:{d=b+28|0;e=6;break}default:{a=b+28|0;do qa(a|0,b|0)|0;while((f[c>>2]|0)!=1);d=a;e=6}}if((e|0)==6){f[c>>2]=2;Na(d|0)|0}Ch(b|0)|0;return}function Ae(a){a=a|0;var b=0,c=0;b=f[a+8>>2]|0;if(!b)return;c=(vb[b&31](f[a+12>>2]|0,f[a+16>>2]|0)|0)==0&1;b=a+20|0;f[b>>2]=c|f[b>>2];return}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;b=f[a>>2]|0;if(!b)return;qh(b|0)|0;c=a+4|0;switch(f[c>>2]|0){case 0:break;case 1:{d=b+28|0;e=6;break}default:{g=b+28|0;do qa(g|0,b|0)|0;while((f[c>>2]|0)!=1);d=g;e=6}}if((e|0)==6){f[c>>2]=0;Na(d|0)|0}Ch(b|0)|0;sa(f[b+76>>2]|0,0)|0;Oa(b|0)|0;Da(b+28|0)|0;Gb(b);f[a>>2]=0;return}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a>>2]|0;c=a+4|0;d=b+28|0;a:while(1){qh(b|0)|0;b:while(1){switch(f[c>>2]|0){case 0:{break a;break}case 2:{e=5;break b;break}case 1:break;default:{e=6;break b}}qa(d|0,b|0)|0}if((e|0)==5){e=0;nb[f[388>>2]&31](a);f[c>>2]=1;Na(d|0)|0;Ch(b|0)|0;continue}else if((e|0)==6){e=0;Na(d|0)|0;Ch(b|0)|0;continue}}Na(d|0)|0;Ch(b|0)|0;return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;if(f[a>>2]|0)return 0;f[a>>2]=b;f[a+8>>2]=c;f[a+4>>2]=0;return 0}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=f[c+48>>2]|0;if(d|0?(qb[d&7](c)|0)==0:0){De(a,6,5377)|0;e=f[a>>2]|0;return e|0}d=a+2308|0;if(!(f[c+68>>2]|0)){g=f[d>>2]|0;i=h[5345+g>>0]|0;if((g|0)==2){f[a+296>>2]=0;j=a+300|0;k=i;l=2;m=11}else{n=g;o=i;m=8}}else{f[d>>2]=0;n=0;o=0;m=8}if((m|0)==8){d=(f[c+76>>2]|0)-o>>4;i=a+296|0;f[i>>2]=d;g=(f[c+84>>2]|0)-o>>4;p=a+300|0;f[p>>2]=g;if((d|0)<0)f[i>>2]=0;if((g|0)<0){j=p;k=o;l=n;m=11}else{q=o;r=n}}if((m|0)==11){f[j>>2]=0;q=k;r=l}l=q+15|0;q=l+(f[c+88>>2]|0)>>4;k=a+308|0;f[k>>2]=q;j=l+(f[c+80>>2]|0)>>4;c=f[a+288>>2]|0;f[a+304>>2]=(j|0)>(c|0)?c:j;j=f[a+292>>2]|0;if((q|0)>(j|0))f[k>>2]=j;if((r|0)<=0){e=0;return e|0}r=a+104|0;j=a+60|0;k=a+68|0;q=a+64|0;c=a+72|0;l=a+88|0;m=a+112|0;n=0;do{if(f[r>>2]|0){o=b[a+120+n>>0]|0;if(!(f[m>>2]|0))s=(f[j>>2]|0)+o|0;else s=o}else s=f[j>>2]|0;o=(f[k>>2]|0)==0;if(o)t=s;else t=(f[c>>2]|0)+s|0;p=(t|0)<0?0:(t|0)<63?t:63;if((p|0)>0){g=f[q>>2]|0;i=p>>((g|0)>4?2:1);d=9-g|0;u=(g|0)>0?((i|0)>(d|0)?d:i):p;i=(u|0)>1?u:1;b[a+2312+(n<<3)+1>>0]=i;b[a+2312+(n<<3)+3>>0]=(p|0)>39?2:(p|0)>14&1;v=i+(p<<1)&255}else v=0;b[a+2312+(n<<3)>>0]=v;b[a+2312+(n<<3)+2>>0]=0;if(o)w=s;else w=(f[c>>2]|0)+s+(f[l>>2]|0)|0;o=(w|0)<0?0:(w|0)<63?w:63;if((o|0)>0){p=f[q>>2]|0;i=o>>((p|0)>4?2:1);u=9-p|0;d=(p|0)>0?((i|0)>(u|0)?u:i):o;i=(d|0)>1?d:1;b[a+2312+(n<<3)+5>>0]=i;b[a+2312+(n<<3)+7>>0]=(o|0)>39?2:(o|0)>14&1;x=i+(o<<1)&255}else x=0;b[a+2312+(n<<3)+4>>0]=x;b[a+2312+(n<<3)+6>>0]=1;n=n+1|0}while((n|0)!=4);e=0;return e|0}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0;if((f[a+148>>2]|0)>0){c=(ve()|0)+8|0;d=qb[f[c>>2]&7](a+124|0)|0}else d=1;a=f[b+52>>2]|0;if(!a)return d|0;nb[a&31](b);return d|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)return 0;else return ((f[a+40>>2]|0)==0?0:(c|0)>511?2:0)|0;return 0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;d=a+152|0;f[d>>2]=0;e=a+148|0;do if((f[e>>2]|0)>0){g=(ve()|0)+4|0;if(qb[f[g>>2]&7](a+124|0)|0){f[a+136>>2]=a;f[a+140>>2]=a+180;f[a+132>>2]=22;i=(f[a+2308>>2]|0)>0?3:2;k=6;break}if(!(De(a,1,5396)|0)){l=0;return l|0}else{m=f[a+156>>2]|0;break}}else{i=1;k=6}while(0);if((k|0)==6){f[a+156>>2]=i;m=i}i=f[a+288>>2]|0;g=i<<2;n=i<<5;o=(i<<1)+2|0;p=a+2308|0;q=f[p>>2]|0;r=f[e>>2]|0;s=X((r|0)>0?2:1,g)|0;t=(q|0)>0?s:0;s=X(i*800|0,(r|0)==2?2:1)|0;u=m<<4;v=X((((h[5345+q>>0]|0)+u|0)*3|0)/2|0,n)|0;if(!(f[a+2348>>2]|0)){w=0;x=0}else{q=xh(j[a+50>>1]|0|0,0,j[a+48>>1]|0|0,0)|0;w=q;x=I}q=oh(n|0,0,863,0)|0;y=oh(q|0,I|0,g|0,0)|0;q=oh(y|0,I|0,o|0,0)|0;y=oh(q|0,I|0,s|0,0)|0;q=oh(y|0,I|0,t|0,0)|0;y=oh(q|0,I|0,v|0,0)|0;q=oh(y|0,I|0,w|0,x|0)|0;y=I;if(!((q|0)==(q|0)&(y|0)==0)){l=0;return l|0}z=a+2292|0;A=a+2288|0;B=f[A>>2]|0;do if(y>>>0>0|((y|0)==0?q>>>0>(f[z>>2]|0)>>>0:0)){Gb(B);f[z>>2]=0;C=Nb(q,y,1)|0;f[A>>2]=C;if(C|0){f[z>>2]=q;D=f[e>>2]|0;E=C;k=13;break}if(!(De(a,1,5426)|0)){l=0;return l|0}else{F=a+2276|0;G=a+2280|0;H=a+2284|0;J=a+2268|0;K=a+2272|0;break}}else{D=r;E=B;k=13}while(0);if((k|0)==13){k=a+2244|0;f[k>>2]=E;B=E+g|0;f[a+2252>>2]=B;E=B+n|0;n=E+2|0;f[a+2256>>2]=n;B=E+o|0;E=t|0?B:0;f[a+2260>>2]=E;f[a+160>>2]=0;f[a+172>>2]=(D|0)>0?E+(i<<2)|0:E;E=B+t+31&-32;f[a+2264>>2]=E;t=E+832|0;f[a+2304>>2]=t;E=a+176|0;f[E>>2]=t;if((D|0)==2)f[E>>2]=t+(i*800|0);E=t+s|0;s=i<<4;t=a+2280|0;f[t>>2]=s;D=i<<3;i=a+2284|0;f[i>>2]=D;B=b[5345+(f[p>>2]|0)>>0]|0;p=X((B&255)>>>1&255,D)|0;r=E+(X(B&255,s)|0)|0;B=a+2268|0;f[B>>2]=r;e=r+(X(s,u)|0)+p|0;u=a+2272|0;f[u>>2]=e;s=e+(X(m<<3,D)|0)+p|0;p=a+2276|0;f[p>>2]=s;f[d>>2]=0;f[a+2364>>2]=(w|0)!=0|(x|0)!=0?E+v|0:0;ph(n+-2|0,0,o|0)|0;Ie(a);ph(f[k>>2]|0,0,g|0)|0;F=p;G=t;H=i;J=B;K=u}f[c+8>>2]=0;f[c+20>>2]=f[J>>2];f[c+24>>2]=f[K>>2];f[c+28>>2]=f[F>>2];f[c+32>>2]=f[G>>2];f[c+36>>2]=f[H>>2];f[c+104>>2]=0;Je();l=1;return l|0}function Ie(a){a=a|0;var c=0;c=f[a+2256>>2]|0;b[c+-2>>0]=0;b[c+-1>>0]=0;f[a+2248>>2]=0;f[a+2296>>2]=0;return}function Je(){var a=0,b=0;if(qh(12472)|0)return;a=f[2893]|0;if((f[99]|0)==(a|0))b=a;else{f[2894]=4;f[2919]=9;f[2922]=5;f[2920]=6;f[2921]=7;f[2923]=8;f[2924]=19;f[2928]=20;f[2925]=21;f[2926]=5;f[2930]=6;f[2932]=10;f[2933]=11;f[2934]=12;f[2935]=13;f[2929]=22;f[2927]=7;f[2931]=8;f[2902]=8;f[2903]=9;f[2904]=10;f[2906]=11;f[2908]=12;f[2905]=13;f[2907]=14;f[2909]=15;f[2910]=16;f[2911]=17;f[2895]=18;f[2896]=19;f[2897]=20;f[2898]=21;f[2899]=22;f[2900]=23;f[2901]=24;f[2912]=25;f[2913]=26;f[2914]=27;f[2915]=28;f[2916]=29;f[2917]=30;f[2918]=31;f[2936]=14;b=f[2893]|0}f[99]=b;Ch(12472)|0;return}function Ke(){return}function Le(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;c=u;u=u+64|0;e=c;g=d[a>>1]|0;h=d[a+24>>1]|0;i=h+g|0;j=d[a+8>>1]|0;k=d[a+16>>1]|0;l=k+j|0;m=j-k|0;k=g-h|0;h=l+i|0;f[e>>2]=h;g=e+32|0;f[g>>2]=i-l;l=e+16|0;f[l>>2]=m+k;i=e+48|0;f[i>>2]=k-m;m=d[a+2>>1]|0;k=d[a+26>>1]|0;j=k+m|0;n=d[a+10>>1]|0;o=d[a+18>>1]|0;p=o+n|0;q=n-o|0;o=m-k|0;k=p+j|0;f[e+4>>2]=k;m=e+36|0;f[m>>2]=j-p;p=q+o|0;f[e+20>>2]=p;j=e+52|0;f[j>>2]=o-q;q=d[a+4>>1]|0;o=d[a+28>>1]|0;n=o+q|0;r=d[a+12>>1]|0;s=d[a+20>>1]|0;t=s+r|0;v=r-s|0;s=q-o|0;o=t+n|0;f[e+8>>2]=o;q=n-t|0;f[e+40>>2]=q;t=v+s|0;f[e+24>>2]=t;n=e+56|0;f[n>>2]=s-v;v=d[a+6>>1]|0;s=d[a+30>>1]|0;r=s+v|0;w=d[a+14>>1]|0;x=d[a+22>>1]|0;a=x+w|0;y=w-x|0;x=v-s|0;s=a+r|0;f[e+12>>2]=s;v=r-a|0;f[e+44>>2]=v;a=y+x|0;f[e+28>>2]=a;r=x-y|0;f[e+60>>2]=r;e=h+3|0;h=e+s|0;y=o+k|0;x=k-o|0;o=e-s|0;d[b>>1]=(y+h|0)>>>3;d[b+32>>1]=(x+o|0)>>>3;d[b+64>>1]=(h-y|0)>>>3;d[b+96>>1]=(o-x|0)>>>3;x=(f[l>>2]|0)+3|0;l=x+a|0;o=t+p|0;y=p-t|0;t=x-a|0;d[b+128>>1]=(o+l|0)>>>3;d[b+160>>1]=(y+t|0)>>>3;d[b+192>>1]=(l-o|0)>>>3;d[b+224>>1]=(t-y|0)>>>3;y=(f[g>>2]|0)+3|0;g=y+v|0;t=f[m>>2]|0;m=q+t|0;o=t-q|0;q=y-v|0;d[b+256>>1]=(m+g|0)>>>3;d[b+288>>1]=(o+q|0)>>>3;d[b+320>>1]=(g-m|0)>>>3;d[b+352>>1]=(q-o|0)>>>3;o=(f[i>>2]|0)+3|0;i=o+r|0;q=f[j>>2]|0;j=f[n>>2]|0;n=j+q|0;m=q-j|0;j=o-r|0;d[b+384>>1]=(n+i|0)>>>3;d[b+416>>1]=(m+j|0)>>>3;d[b+448>>1]=(i-n|0)>>>3;d[b+480>>1]=(j-m|0)>>>3;u=c;return}function Me(a,b,c){a=a|0;b=b|0;c=c|0;Ff(a,b);if(!c)return;Ff(a+32|0,b+4|0);return}function Ne(a,c){a=a|0;c=c|0;var e=0,f=0;e=(d[a>>1]|0)+4>>3;a=(h[c>>0]|0)+e|0;b[c>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+1|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+2|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+3|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+32|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+33|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+34|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+35|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+64|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+65|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+66|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+67|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+96|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+97|0;f=(h[a>>0]|0)+e|0;b[a>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+98|0;a=(h[f>>0]|0)+e|0;b[f>>0]=a>>>0>255?(a>>>31)+255|0:a;a=c+99|0;c=(h[a>>0]|0)+e|0;b[a>>0]=c>>>0>255?(c>>>31)+255|0:c;return}function Oe(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;e=(d[a>>1]|0)+4|0;f=d[a+8>>1]|0;g=f*35468>>16;i=(f*20091>>16)+f|0;f=d[a+2>>1]|0;a=f*35468>>16;j=(f*20091>>16)+f|0;f=i+e|0;k=(f+j>>3)+(h[c>>0]|0)|0;b[c>>0]=k>>>0>255?(k>>>31)+255|0:k;k=c+1|0;l=(f+a>>3)+(h[k>>0]|0)|0;b[k>>0]=l>>>0>255?(l>>>31)+255|0:l;l=c+2|0;k=(h[l>>0]|0)+(f-a>>3)|0;b[l>>0]=k>>>0>255?(k>>>31)+255|0:k;k=c+3|0;l=(h[k>>0]|0)+(f-j>>3)|0;b[k>>0]=l>>>0>255?(l>>>31)+255|0:l;l=g+e|0;k=c+32|0;f=(h[k>>0]|0)+(j+l>>3)|0;b[k>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+33|0;k=(h[f>>0]|0)+(l+a>>3)|0;b[f>>0]=k>>>0>255?(k>>>31)+255|0:k;k=c+34|0;f=(h[k>>0]|0)+(l-a>>3)|0;b[k>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+35|0;k=(h[f>>0]|0)+(l-j>>3)|0;b[f>>0]=k>>>0>255?(k>>>31)+255|0:k;k=e-g|0;g=c+64|0;f=(h[g>>0]|0)+(j+k>>3)|0;b[g>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+65|0;g=(h[f>>0]|0)+(k+a>>3)|0;b[f>>0]=g>>>0>255?(g>>>31)+255|0:g;g=c+66|0;f=(h[g>>0]|0)+(k-a>>3)|0;b[g>>0]=f>>>0>255?(f>>>31)+255|0:f;f=c+67|0;g=(h[f>>0]|0)+(k-j>>3)|0;b[f>>0]=g>>>0>255?(g>>>31)+255|0:g;g=e-i|0;i=c+96|0;e=(h[i>>0]|0)+(g+j>>3)|0;b[i>>0]=e>>>0>255?(e>>>31)+255|0:e;e=c+97|0;i=(h[e>>0]|0)+(g+a>>3)|0;b[e>>0]=i>>>0>255?(i>>>31)+255|0:i;i=c+98|0;e=(h[i>>0]|0)+(g-a>>3)|0;b[i>>0]=e>>>0>255?(e>>>31)+255|0:e;e=c+99|0;c=(h[e>>0]|0)+(g-j>>3)|0;b[e>>0]=c>>>0>255?(c>>>31)+255|0:c;return}function Pe(a,b){a=a|0;b=b|0;rb[f[2919]&31](a,b,1);rb[f[2919]&31](a+64|0,b+128|0,1);return}function Qe(a,b){a=a|0;b=b|0;var c=0;if(d[a>>1]|0)ob[f[2922]&15](a,b);c=a+32|0;if(d[c>>1]|0)ob[f[2922]&15](c,b+4|0);c=a+64|0;if(d[c>>1]|0)ob[f[2922]&15](c,b+128|0);c=a+96|0;if(!(d[c>>1]|0))return;ob[f[2922]&15](c,b+132|0);return}function Re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Df(a,b,1,16,c,d,e);return}function Se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=b<<2;g=a+f|0;Bf(g,b,1,16,c,d,e);a=g+f|0;Bf(a,b,1,16,c,d,e);Bf(a+f|0,b,1,16,c,d,e);return}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Df(a,1,b,16,c,d,e);return}function Ue(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Df(a,c,1,8,d,e,f);Df(b,c,1,8,d,e,f);return}function Ve(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=c<<2;Bf(a+g|0,c,1,8,d,e,f);Bf(b+g|0,c,1,8,d,e,f);return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0;d=c<<1|1;c=X(b,-2)|0;e=0-b|0;g=f[5]|0;i=0;do{j=a+i|0;if((((h[g+((h[j+e>>0]|0)-(h[j>>0]|0))>>0]|0)<<2)+(h[g+((h[j+c>>0]|0)-(h[j+b>>0]|0))>>0]|0)|0)<=(d|0))Ef(j,b);i=i+1|0}while((i|0)!=16);return}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=d<<1|1;d=f[5]|0;g=f[2]|0;i=f[3]|0;j=f[4]|0;k=0;do{l=a+(X(k,c)|0)|0;m=l+-1|0;n=h[m>>0]|0;o=h[l>>0]|0;p=(h[l+-2>>0]|0)-(h[l+1>>0]|0)|0;if(((h[d+(n-o)>>0]<<2)+(h[d+p>>0]|0)|0)<=(e|0)){q=(b[g+p>>0]|0)+((o-n|0)*3|0)|0;p=b[i+(q+4>>3)>>0]|0;b[m>>0]=b[j+((b[i+(q+3>>3)>>0]|0)+n)>>0]|0;b[l>>0]=b[j+(o-p)>>0]|0}k=k+1|0}while((k|0)!=16);return}function Ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=c<<2;g=d<<1|1;d=X(c,-2)|0;i=0-c|0;j=f[5]|0;k=f[2]|0;l=f[3]|0;m=f[4]|0;n=a+e|0;a=0;do{o=n+a|0;p=o+i|0;q=h[p>>0]|0;r=h[o>>0]|0;s=(h[o+d>>0]|0)-(h[o+c>>0]|0)|0;if(((h[j+(q-r)>>0]<<2)+(h[j+s>>0]|0)|0)<=(g|0)){t=(b[k+s>>0]|0)+((r-q|0)*3|0)|0;s=b[l+(t+4>>3)>>0]|0;b[p>>0]=b[m+((b[l+(t+3>>3)>>0]|0)+q)>>0]|0;b[o>>0]=b[m+(r-s)>>0]|0}a=a+1|0}while((a|0)!=16);a=n+e|0;n=0;do{s=a+n|0;r=s+i|0;o=h[r>>0]|0;q=h[s>>0]|0;t=(h[s+d>>0]|0)-(h[s+c>>0]|0)|0;if(((h[j+(o-q)>>0]<<2)+(h[j+t>>0]|0)|0)<=(g|0)){p=(b[k+t>>0]|0)+((q-o|0)*3|0)|0;t=b[l+(p+4>>3)>>0]|0;b[r>>0]=b[m+((b[l+(p+3>>3)>>0]|0)+o)>>0]|0;b[s>>0]=b[m+(q-t)>>0]|0}n=n+1|0}while((n|0)!=16);n=a+e|0;e=0;do{a=n+e|0;t=a+i|0;q=h[t>>0]|0;s=h[a>>0]|0;o=(h[a+d>>0]|0)-(h[a+c>>0]|0)|0;if(((h[j+(q-s)>>0]<<2)+(h[j+o>>0]|0)|0)<=(g|0)){p=(b[k+o>>0]|0)+((s-q|0)*3|0)|0;o=b[l+(p+4>>3)>>0]|0;b[t>>0]=b[m+((b[l+(p+3>>3)>>0]|0)+q)>>0]|0;b[a>>0]=b[m+(s-o)>>0]|0}e=e+1|0}while((e|0)!=16);return}function Ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d<<1|1;d=f[5]|0;g=f[2]|0;i=f[3]|0;j=f[4]|0;k=a+4|0;l=0;do{m=k+(X(l,c)|0)|0;n=m+-1|0;o=h[n>>0]|0;p=h[m>>0]|0;q=(h[m+-2>>0]|0)-(h[m+1>>0]|0)|0;if(((h[d+(o-p)>>0]<<2)+(h[d+q>>0]|0)|0)<=(e|0)){r=(b[g+q>>0]|0)+((p-o|0)*3|0)|0;q=b[i+(r+4>>3)>>0]|0;b[n>>0]=b[j+((b[i+(r+3>>3)>>0]|0)+o)>>0]|0;b[m>>0]=b[j+(p-q)>>0]|0}l=l+1|0}while((l|0)!=16);l=a+8|0;k=0;do{q=l+(X(k,c)|0)|0;p=q+-1|0;m=h[p>>0]|0;o=h[q>>0]|0;r=(h[q+-2>>0]|0)-(h[q+1>>0]|0)|0;if(((h[d+(m-o)>>0]<<2)+(h[d+r>>0]|0)|0)<=(e|0)){n=(b[g+r>>0]|0)+((o-m|0)*3|0)|0;r=b[i+(n+4>>3)>>0]|0;b[p>>0]=b[j+((b[i+(n+3>>3)>>0]|0)+m)>>0]|0;b[q>>0]=b[j+(o-r)>>0]|0}k=k+1|0}while((k|0)!=16);k=a+12|0;a=0;do{l=k+(X(a,c)|0)|0;r=l+-1|0;o=h[r>>0]|0;q=h[l>>0]|0;m=(h[l+-2>>0]|0)-(h[l+1>>0]|0)|0;if(((h[d+(o-q)>>0]<<2)+(h[d+m>>0]|0)|0)<=(e|0)){n=(b[g+m>>0]|0)+((q-o|0)*3|0)|0;m=b[i+(n+4>>3)>>0]|0;b[r>>0]=b[j+((b[i+(n+3>>3)>>0]|0)+o)>>0]|0;b[l>>0]=b[j+(q-m)>>0]|0}a=a+1|0}while((a|0)!=16);return}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Bf(a+4|0,1,b,16,c,d,e);Bf(a+8|0,1,b,16,c,d,e);Bf(a+12|0,1,b,16,c,d,e);return}function $e(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Df(a,1,c,8,d,e,f);Df(b,1,c,8,d,e,f);return}function af(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Bf(a+4|0,1,c,8,d,e,f);Bf(b+4|0,1,c,8,d,e,f);return}function bf(a){a=a|0;var b=0;b=((h[a+-29>>0]|0)+((h[a+-30>>0]|0)+((h[a+-31>>0]|0)+((h[a+-32>>0]|0)+4+(h[a+-1>>0]|0))+(h[a+31>>0]|0))+(h[a+63>>0]|0))+(h[a+95>>0]|0)|0)>>>3&255;ph(a|0,b|0,4)|0;ph(a+32|0,b|0,4)|0;ph(a+64|0,b|0,4)|0;ph(a+96|0,b|0,4)|0;return}function cf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;c=(f[4]|0)+(0-(h[a+-33>>0]|0))|0;d=c+(h[a+-1>>0]|0)|0;e=h[a+-32>>0]|0;b[a>>0]=b[d+e>>0]|0;g=h[a+-31>>0]|0;b[a+1>>0]=b[d+g>>0]|0;i=h[a+-30>>0]|0;b[a+2>>0]=b[d+i>>0]|0;j=h[a+-29>>0]|0;b[a+3>>0]=b[d+j>>0]|0;d=c+(h[a+31>>0]|0)|0;b[a+32>>0]=b[d+e>>0]|0;b[a+33>>0]=b[d+g>>0]|0;b[a+34>>0]=b[d+i>>0]|0;b[a+35>>0]=b[d+j>>0]|0;d=c+(h[a+63>>0]|0)|0;b[a+64>>0]=b[d+e>>0]|0;b[a+65>>0]=b[d+g>>0]|0;b[a+66>>0]=b[d+i>>0]|0;b[a+67>>0]=b[d+j>>0]|0;d=c+(h[a+95>>0]|0)|0;b[a+96>>0]=b[d+e>>0]|0;b[a+97>>0]=b[d+g>>0]|0;b[a+98>>0]=b[d+i>>0]|0;b[a+99>>0]=b[d+j>>0]|0;return}function df(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;c=h[a+-32>>0]|0;d=h[a+-31>>0]|0;e=((h[a+-33>>0]|0)+2+(c<<1)+d|0)>>>2&255;f=h[a+-30>>0]|0;g=(c+2+(d<<1)+f|0)>>>2&255;c=h[a+-29>>0]|0;i=(d+2+(f<<1)+c|0)>>>2&255;d=(f+2+(c<<1)+(h[a+-28>>0]|0)|0)>>>2&255;b[a>>0]=e;b[a+1>>0]=g;b[a+2>>0]=i;b[a+3>>0]=d;b[a+32>>0]=e;b[a+33>>0]=g;b[a+34>>0]=i;b[a+35>>0]=d;b[a+64>>0]=e;b[a+65>>0]=g;b[a+66>>0]=i;b[a+67>>0]=d;b[a+96>>0]=e;b[a+97>>0]=g;b[a+98>>0]=i;b[a+99>>0]=d;return}function ef(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;c=h[a+-1>>0]|0;d=h[a+31>>0]|0;e=h[a+63>>0]|0;f=h[a+-33>>0]|0;g=h[a+-32>>0]|0;i=h[a+-31>>0]|0;j=h[a+-30>>0]|0;k=h[a+-29>>0]|0;b[a+96>>0]=(d+2+(e<<1)+(h[a+95>>0]|0)|0)>>>2;l=c+2|0;m=(l+(d<<1)+e|0)>>>2&255;b[a+64>>0]=m;b[a+97>>0]=m;m=((c<<1)+2+d+f|0)>>>2&255;b[a+32>>0]=m;b[a+65>>0]=m;b[a+98>>0]=m;m=(l+(f<<1)+g|0)>>>2&255;b[a>>0]=m;b[a+33>>0]=m;b[a+66>>0]=m;b[a+99>>0]=m;m=(f+2+(g<<1)+i|0)>>>2&255;b[a+1>>0]=m;b[a+34>>0]=m;b[a+67>>0]=m;m=(g+2+(i<<1)+j|0)>>>2&255;b[a+2>>0]=m;b[a+35>>0]=m;b[a+3>>0]=(i+2+(j<<1)+k|0)>>>2;return}function ff(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;c=h[a+-31>>0]|0;d=h[a+-30>>0]|0;e=h[a+-29>>0]|0;f=h[a+-28>>0]|0;g=h[a+-27>>0]|0;i=h[a+-26>>0]|0;j=h[a+-25>>0]|0;b[a>>0]=((h[a+-32>>0]|0)+2+(c<<1)+d|0)>>>2;k=(c+2+(d<<1)+e|0)>>>2&255;b[a+32>>0]=k;b[a+1>>0]=k;k=(d+2+(e<<1)+f|0)>>>2&255;b[a+64>>0]=k;b[a+33>>0]=k;b[a+2>>0]=k;k=(e+2+(f<<1)+g|0)>>>2&255;b[a+96>>0]=k;b[a+65>>0]=k;b[a+34>>0]=k;b[a+3>>0]=k;k=(f+2+(g<<1)+i|0)>>>2&255;b[a+97>>0]=k;b[a+66>>0]=k;b[a+35>>0]=k;k=(g+2+(i<<1)+j|0)>>>2&255;b[a+98>>0]=k;b[a+67>>0]=k;b[a+99>>0]=(i+2+j+(j<<1)|0)>>>2;return}function gf(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;c=h[a+-1>>0]|0;d=h[a+31>>0]|0;e=h[a+63>>0]|0;f=h[a+95>>0]|0;g=X(((h[a+-33>>0]|0)+2+(c<<1)+d|0)>>>2&255,16843009)|0;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=a+32|0;i=X((c+2+(d<<1)+e|0)>>>2&255,16843009)|0;b[g>>0]=i;b[g+1>>0]=i>>8;b[g+2>>0]=i>>16;b[g+3>>0]=i>>24;i=a+64|0;g=X((d+2+(e<<1)+f|0)>>>2&255,16843009)|0;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;g=a+96|0;a=X((e+2+f+(f<<1)|0)>>>2&255,16843009)|0;b[g>>0]=a;b[g+1>>0]=a>>8;b[g+2>>0]=a>>16;b[g+3>>0]=a>>24;return}function hf(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;c=h[a+-1>>0]|0;d=h[a+31>>0]|0;e=h[a+63>>0]|0;f=h[a+-33>>0]|0;g=h[a+-32>>0]|0;i=h[a+-31>>0]|0;j=h[a+-30>>0]|0;k=h[a+-29>>0]|0;l=(f+1+g|0)>>>1&255;b[a+65>>0]=l;b[a>>0]=l;l=(g+1+i|0)>>>1&255;b[a+66>>0]=l;b[a+1>>0]=l;l=(i+1+j|0)>>>1&255;b[a+67>>0]=l;b[a+2>>0]=l;b[a+3>>0]=(j+1+k|0)>>>1;l=c+2|0;b[a+96>>0]=(l+(d<<1)+e|0)>>>2;b[a+64>>0]=((c<<1)+2+d+f|0)>>>2;d=(l+(f<<1)+g|0)>>>2&255;b[a+97>>0]=d;b[a+32>>0]=d;d=(f+2+(g<<1)+i|0)>>>2&255;b[a+98>>0]=d;b[a+33>>0]=d;d=(g+2+(i<<1)+j|0)>>>2&255;b[a+99>>0]=d;b[a+34>>0]=d;b[a+35>>0]=(i+2+(j<<1)+k|0)>>>2;return}function jf(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;c=h[a+-32>>0]|0;d=h[a+-31>>0]|0;e=h[a+-30>>0]|0;f=h[a+-29>>0]|0;g=h[a+-28>>0]|0;i=h[a+-27>>0]|0;j=h[a+-26>>0]|0;k=h[a+-25>>0]|0;b[a>>0]=(c+1+d|0)>>>1;l=(d+1+e|0)>>>1&255;b[a+64>>0]=l;b[a+1>>0]=l;l=(e+1+f|0)>>>1&255;b[a+65>>0]=l;b[a+2>>0]=l;l=(f+1+g|0)>>>1&255;b[a+66>>0]=l;b[a+3>>0]=l;b[a+32>>0]=(c+2+(d<<1)+e|0)>>>2;c=(d+2+(e<<1)+f|0)>>>2&255;b[a+96>>0]=c;b[a+33>>0]=c;c=(e+2+(f<<1)+g|0)>>>2&255;b[a+97>>0]=c;b[a+34>>0]=c;c=(f+2+(g<<1)+i|0)>>>2&255;b[a+98>>0]=c;b[a+35>>0]=c;b[a+67>>0]=(g+2+(i<<1)+j|0)>>>2;b[a+99>>0]=(i+2+(j<<1)+k|0)>>>2;return}function kf(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;c=h[a+-1>>0]|0;d=h[a+31>>0]|0;e=h[a+63>>0]|0;f=h[a+95>>0]|0;g=h[a+-33>>0]|0;i=h[a+-32>>0]|0;j=h[a+-31>>0]|0;k=h[a+-30>>0]|0;l=c+1|0;m=(l+g|0)>>>1&255;b[a+34>>0]=m;b[a>>0]=m;m=(l+d|0)>>>1&255;b[a+66>>0]=m;b[a+32>>0]=m;m=(d+1+e|0)>>>1&255;b[a+98>>0]=m;b[a+64>>0]=m;b[a+96>>0]=(e+1+f|0)>>>1;b[a+3>>0]=(i+2+(j<<1)+k|0)>>>2;b[a+2>>0]=(g+2+(i<<1)+j|0)>>>2;j=c+2|0;k=(j+(g<<1)+i|0)>>>2&255;b[a+35>>0]=k;b[a+1>>0]=k;k=((c<<1)+2+d+g|0)>>>2&255;b[a+67>>0]=k;b[a+33>>0]=k;k=(j+(d<<1)+e|0)>>>2&255;b[a+99>>0]=k;b[a+65>>0]=k;b[a+97>>0]=(d+2+(e<<1)+f|0)>>>2;return}function lf(a){a=a|0;var c=0,d=0,e=0,f=0,g=0,i=0;c=h[a+-1>>0]|0;d=h[a+31>>0]|0;e=h[a+63>>0]|0;f=b[a+95>>0]|0;g=f&255;b[a>>0]=(c+1+d|0)>>>1;i=(d+1+e|0)>>>1&255;b[a+32>>0]=i;b[a+2>>0]=i;i=(e+1+g|0)>>>1&255;b[a+64>>0]=i;b[a+34>>0]=i;b[a+1>>0]=(c+2+(d<<1)+e|0)>>>2;c=(d+2+(e<<1)+g|0)>>>2&255;b[a+33>>0]=c;b[a+3>>0]=c;c=(e+2+g+(g<<1)|0)>>>2&255;b[a+65>>0]=c;b[a+35>>0]=c;b[a+66>>0]=f;b[a+67>>0]=f;ph(a+96|0,f|0,4)|0;return}function mf(a){a=a|0;var b=0,c=0;b=16;c=0;do{b=(h[a+((c<<5)+-1)>>0]|0)+b+(h[a+(c+-32)>>0]|0)|0;c=c+1|0}while((c|0)!=16);c=b>>>5&255;ph(a|0,c|0,16)|0;ph(a+32|0,c|0,16)|0;ph(a+64|0,c|0,16)|0;ph(a+96|0,c|0,16)|0;ph(a+128|0,c|0,16)|0;ph(a+160|0,c|0,16)|0;ph(a+192|0,c|0,16)|0;ph(a+224|0,c|0,16)|0;ph(a+256|0,c|0,16)|0;ph(a+288|0,c|0,16)|0;ph(a+320|0,c|0,16)|0;ph(a+352|0,c|0,16)|0;ph(a+384|0,c|0,16)|0;ph(a+416|0,c|0,16)|0;ph(a+448|0,c|0,16)|0;ph(a+480|0,c|0,16)|0;return}function nf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;c=a+-32|0;d=(f[4]|0)+(0-(h[a+-33>>0]|0))|0;e=a+-31|0;g=a+-30|0;i=a+-29|0;j=a+-28|0;k=a+-27|0;l=a+-26|0;m=a+-25|0;n=a+-24|0;o=a+-23|0;p=a+-22|0;q=a+-21|0;r=a+-20|0;s=a+-19|0;t=a+-18|0;u=a+-17|0;v=a;a=0;while(1){w=d+(h[v+-1>>0]|0)|0;b[v>>0]=b[w+(h[c>>0]|0)>>0]|0;b[v+1>>0]=b[w+(h[e>>0]|0)>>0]|0;b[v+2>>0]=b[w+(h[g>>0]|0)>>0]|0;b[v+3>>0]=b[w+(h[i>>0]|0)>>0]|0;b[v+4>>0]=b[w+(h[j>>0]|0)>>0]|0;b[v+5>>0]=b[w+(h[k>>0]|0)>>0]|0;b[v+6>>0]=b[w+(h[l>>0]|0)>>0]|0;b[v+7>>0]=b[w+(h[m>>0]|0)>>0]|0;b[v+8>>0]=b[w+(h[n>>0]|0)>>0]|0;b[v+9>>0]=b[w+(h[o>>0]|0)>>0]|0;b[v+10>>0]=b[w+(h[p>>0]|0)>>0]|0;b[v+11>>0]=b[w+(h[q>>0]|0)>>0]|0;b[v+12>>0]=b[w+(h[r>>0]|0)>>0]|0;b[v+13>>0]=b[w+(h[s>>0]|0)>>0]|0;b[v+14>>0]=b[w+(h[t>>0]|0)>>0]|0;b[v+15>>0]=b[w+(h[u>>0]|0)>>0]|0;a=a+1|0;if((a|0)==16)break;else v=v+32|0}return}function of(a){a=a|0;var c=0,d=0,e=0,f=0;c=a+-32|0;d=a;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+32|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+64|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+96|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+128|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+160|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+192|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+224|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+256|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+288|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+320|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+352|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+384|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+416|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+448|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));d=a+480|0;e=c;f=d+16|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));return}function pf(a){a=a|0;ph(a|0,b[a+-1>>0]|0,16)|0;ph(a+32|0,b[a+31>>0]|0,16)|0;ph(a+64|0,b[a+63>>0]|0,16)|0;ph(a+96|0,b[a+95>>0]|0,16)|0;ph(a+128|0,b[a+127>>0]|0,16)|0;ph(a+160|0,b[a+159>>0]|0,16)|0;ph(a+192|0,b[a+191>>0]|0,16)|0;ph(a+224|0,b[a+223>>0]|0,16)|0;ph(a+256|0,b[a+255>>0]|0,16)|0;ph(a+288|0,b[a+287>>0]|0,16)|0;ph(a+320|0,b[a+319>>0]|0,16)|0;ph(a+352|0,b[a+351>>0]|0,16)|0;ph(a+384|0,b[a+383>>0]|0,16)|0;ph(a+416|0,b[a+415>>0]|0,16)|0;ph(a+448|0,b[a+447>>0]|0,16)|0;ph(a+480|0,b[a+479>>0]|0,16)|0;return}function qf(a){a=a|0;var b=0;b=((h[a+479>>0]|0)+((h[a+447>>0]|0)+((h[a+415>>0]|0)+((h[a+383>>0]|0)+((h[a+351>>0]|0)+((h[a+319>>0]|0)+((h[a+287>>0]|0)+((h[a+255>>0]|0)+((h[a+223>>0]|0)+((h[a+191>>0]|0)+((h[a+159>>0]|0)+((h[a+127>>0]|0)+((h[a+95>>0]|0)+((h[a+63>>0]|0)+((h[a+31>>0]|0)+((h[a+-1>>0]|0)+8)))))))))))))))|0)>>>4&255;ph(a|0,b|0,16)|0;ph(a+32|0,b|0,16)|0;ph(a+64|0,b|0,16)|0;ph(a+96|0,b|0,16)|0;ph(a+128|0,b|0,16)|0;ph(a+160|0,b|0,16)|0;ph(a+192|0,b|0,16)|0;ph(a+224|0,b|0,16)|0;ph(a+256|0,b|0,16)|0;ph(a+288|0,b|0,16)|0;ph(a+320|0,b|0,16)|0;ph(a+352|0,b|0,16)|0;ph(a+384|0,b|0,16)|0;ph(a+416|0,b|0,16)|0;ph(a+448|0,b|0,16)|0;ph(a+480|0,b|0,16)|0;return}function rf(a){a=a|0;var b=0;b=((h[a+-17>>0]|0)+((h[a+-18>>0]|0)+((h[a+-19>>0]|0)+((h[a+-20>>0]|0)+((h[a+-21>>0]|0)+((h[a+-22>>0]|0)+((h[a+-23>>0]|0)+((h[a+-24>>0]|0)+((h[a+-25>>0]|0)+((h[a+-26>>0]|0)+((h[a+-27>>0]|0)+((h[a+-28>>0]|0)+((h[a+-29>>0]|0)+((h[a+-30>>0]|0)+((h[a+-31>>0]|0)+((h[a+-32>>0]|0)+8)))))))))))))))|0)>>>4&255;ph(a|0,b|0,16)|0;ph(a+32|0,b|0,16)|0;ph(a+64|0,b|0,16)|0;ph(a+96|0,b|0,16)|0;ph(a+128|0,b|0,16)|0;ph(a+160|0,b|0,16)|0;ph(a+192|0,b|0,16)|0;ph(a+224|0,b|0,16)|0;ph(a+256|0,b|0,16)|0;ph(a+288|0,b|0,16)|0;ph(a+320|0,b|0,16)|0;ph(a+352|0,b|0,16)|0;ph(a+384|0,b|0,16)|0;ph(a+416|0,b|0,16)|0;ph(a+448|0,b|0,16)|0;ph(a+480|0,b|0,16)|0;return}function sf(a){a=a|0;var c=0,d=0;c=a;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+32|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+64|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+96|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+128|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+160|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+192|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+224|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+256|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+288|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+320|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+352|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+384|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+416|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+448|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));c=a+480|0;d=c+16|0;do{b[c>>0]=128;c=c+1|0}while((c|0)<(d|0));return}function tf(a){a=a|0;var b=0;b=((h[a+-25>>0]|0)+((h[a+-26>>0]|0)+((h[a+-27>>0]|0)+((h[a+-28>>0]|0)+((h[a+-29>>0]|0)+((h[a+-30>>0]|0)+((h[a+-31>>0]|0)+((h[a+-32>>0]|0)+8+(h[a+-1>>0]|0))+(h[a+31>>0]|0))+(h[a+63>>0]|0))+(h[a+95>>0]|0))+(h[a+127>>0]|0))+(h[a+159>>0]|0))+(h[a+191>>0]|0))+(h[a+223>>0]|0)|0)>>>4&255;ph(a|0,b|0,8)|0;ph(a+32|0,b|0,8)|0;ph(a+64|0,b|0,8)|0;ph(a+96|0,b|0,8)|0;ph(a+128|0,b|0,8)|0;ph(a+160|0,b|0,8)|0;ph(a+192|0,b|0,8)|0;ph(a+224|0,b|0,8)|0;return}function uf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=a+-32|0;d=(f[4]|0)+(0-(h[a+-33>>0]|0))|0;e=a+-31|0;g=a+-30|0;i=a+-29|0;j=a+-28|0;k=a+-27|0;l=a+-26|0;m=a+-25|0;n=a;a=0;while(1){o=d+(h[n+-1>>0]|0)|0;b[n>>0]=b[o+(h[c>>0]|0)>>0]|0;b[n+1>>0]=b[o+(h[e>>0]|0)>>0]|0;b[n+2>>0]=b[o+(h[g>>0]|0)>>0]|0;b[n+3>>0]=b[o+(h[i>>0]|0)>>0]|0;b[n+4>>0]=b[o+(h[j>>0]|0)>>0]|0;b[n+5>>0]=b[o+(h[k>>0]|0)>>0]|0;b[n+6>>0]=b[o+(h[l>>0]|0)>>0]|0;b[n+7>>0]=b[o+(h[m>>0]|0)>>0]|0;a=a+1|0;if((a|0)==8)break;else n=n+32|0}return}function vf(a){a=a|0;var c=0,d=0,e=0,f=0;c=a+-32|0;d=c;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=c+4|0;c=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;d=a;f=d;b[f>>0]=e;b[f+1>>0]=e>>8;b[f+2>>0]=e>>16;b[f+3>>0]=e>>24;f=d+4|0;b[f>>0]=c;b[f+1>>0]=c>>8;b[f+2>>0]=c>>16;b[f+3>>0]=c>>24;f=a+32|0;d=f;b[d>>0]=e;b[d+1>>0]=e>>8;b[d+2>>0]=e>>16;b[d+3>>0]=e>>24;d=f+4|0;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;d=a+64|0;f=d;b[f>>0]=e;b[f+1>>0]=e>>8;b[f+2>>0]=e>>16;b[f+3>>0]=e>>24;f=d+4|0;b[f>>0]=c;b[f+1>>0]=c>>8;b[f+2>>0]=c>>16;b[f+3>>0]=c>>24;f=a+96|0;d=f;b[d>>0]=e;b[d+1>>0]=e>>8;b[d+2>>0]=e>>16;b[d+3>>0]=e>>24;d=f+4|0;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;d=a+128|0;f=d;b[f>>0]=e;b[f+1>>0]=e>>8;b[f+2>>0]=e>>16;b[f+3>>0]=e>>24;f=d+4|0;b[f>>0]=c;b[f+1>>0]=c>>8;b[f+2>>0]=c>>16;b[f+3>>0]=c>>24;f=a+160|0;d=f;b[d>>0]=e;b[d+1>>0]=e>>8;b[d+2>>0]=e>>16;b[d+3>>0]=e>>24;d=f+4|0;b[d>>0]=c;b[d+1>>0]=c>>8;b[d+2>>0]=c>>16;b[d+3>>0]=c>>24;d=a+192|0;f=d;b[f>>0]=e;b[f+1>>0]=e>>8;b[f+2>>0]=e>>16;b[f+3>>0]=e>>24;f=d+4|0;b[f>>0]=c;b[f+1>>0]=c>>8;b[f+2>>0]=c>>16;b[f+3>>0]=c>>24;f=a+224|0;a=f;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;e=f+4|0;b[e>>0]=c;b[e+1>>0]=c>>8;b[e+2>>0]=c>>16;b[e+3>>0]=c>>24;return}function wf(a){a=a|0;ph(a|0,b[a+-1>>0]|0,8)|0;ph(a+32|0,b[a+31>>0]|0,8)|0;ph(a+64|0,b[a+63>>0]|0,8)|0;ph(a+96|0,b[a+95>>0]|0,8)|0;ph(a+128|0,b[a+127>>0]|0,8)|0;ph(a+160|0,b[a+159>>0]|0,8)|0;ph(a+192|0,b[a+191>>0]|0,8)|0;ph(a+224|0,b[a+223>>0]|0,8)|0;return}function xf(a){a=a|0;var b=0;b=((h[a+223>>0]|0)+((h[a+191>>0]|0)+((h[a+159>>0]|0)+((h[a+127>>0]|0)+((h[a+95>>0]|0)+((h[a+63>>0]|0)+((h[a+31>>0]|0)+((h[a+-1>>0]|0)+4)))))))|0)>>>3&255;ph(a|0,b|0,8)|0;ph(a+32|0,b|0,8)|0;ph(a+64|0,b|0,8)|0;ph(a+96|0,b|0,8)|0;ph(a+128|0,b|0,8)|0;ph(a+160|0,b|0,8)|0;ph(a+192|0,b|0,8)|0;ph(a+224|0,b|0,8)|0;return}function yf(a){a=a|0;var b=0;b=((h[a+-25>>0]|0)+((h[a+-26>>0]|0)+((h[a+-27>>0]|0)+((h[a+-28>>0]|0)+((h[a+-29>>0]|0)+((h[a+-30>>0]|0)+((h[a+-31>>0]|0)+((h[a+-32>>0]|0)+4)))))))|0)>>>3&255;ph(a|0,b|0,8)|0;ph(a+32|0,b|0,8)|0;ph(a+64|0,b|0,8)|0;ph(a+96|0,b|0,8)|0;ph(a+128|0,b|0,8)|0;ph(a+160|0,b|0,8)|0;ph(a+192|0,b|0,8)|0;ph(a+224|0,b|0,8)|0;return}function zf(a){a=a|0;var c=0,d=0;c=a;d=c;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=c+4|0;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=a+32|0;c=d;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=d+4|0;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=a+64|0;d=c;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=c+4|0;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=a+96|0;c=d;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=d+4|0;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=a+128|0;d=c;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=c+4|0;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=a+160|0;c=d;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=d+4|0;b[c>>0]=-2139062144;b[c+1>>0]=-2139062144>>8;b[c+2>>0]=-2139062144>>16;b[c+3>>0]=-2139062144>>24;c=a+192|0;d=c;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=c+4|0;b[d>>0]=-2139062144;b[d+1>>0]=-2139062144>>8;b[d+2>>0]=-2139062144>>16;b[d+3>>0]=-2139062144>>24;d=a+224|0;a=d;b[a>>0]=-2139062144;b[a+1>>0]=-2139062144>>8;b[a+2>>0]=-2139062144>>16;b[a+3>>0]=-2139062144>>24;a=d+4|0;b[a>>0]=-2139062144;b[a+1>>0]=-2139062144>>8;b[a+2>>0]=-2139062144>>16;b[a+3>>0]=-2139062144>>24;return}function Af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;if((d|0)!=1){e=c;f=0;g=a;while(1){i=((h[g>>0]|0)+-120>>4)+(h[e>>0]|0)|0;b[e>>0]=i>>>0>255?(i>>>31)+255|0:i;i=e+1|0;j=((h[g+1>>0]|0)+-120>>4)+(h[i>>0]|0)|0;b[i>>0]=j>>>0>255?(j>>>31)+255|0:j;j=e+2|0;i=((h[g+2>>0]|0)+-120>>4)+(h[j>>0]|0)|0;b[j>>0]=i>>>0>255?(i>>>31)+255|0:i;i=e+3|0;j=((h[g+3>>0]|0)+-120>>4)+(h[i>>0]|0)|0;b[i>>0]=j>>>0>255?(j>>>31)+255|0:j;j=e+4|0;i=((h[g+4>>0]|0)+-120>>4)+(h[j>>0]|0)|0;b[j>>0]=i>>>0>255?(i>>>31)+255|0:i;i=e+5|0;j=((h[g+5>>0]|0)+-120>>4)+(h[i>>0]|0)|0;b[i>>0]=j>>>0>255?(j>>>31)+255|0:j;j=e+6|0;i=((h[g+6>>0]|0)+-120>>4)+(h[j>>0]|0)|0;b[j>>0]=i>>>0>255?(i>>>31)+255|0:i;i=e+7|0;j=((h[g+7>>0]|0)+-120>>4)+(h[i>>0]|0)|0;b[i>>0]=j>>>0>255?(j>>>31)+255|0:j;f=f+1|0;if((f|0)==8)break;else{e=e+d|0;g=g+8|0}}return}g=c;e=0;f=a;a=b[c+6>>0]|0;while(1){c=((h[f>>0]|0)+-120>>4)+(h[g>>0]|0)|0;b[g>>0]=c>>>0>255?(c>>>31)+255|0:c;c=g+1|0;j=((h[f+1>>0]|0)+-120>>4)+(h[c>>0]|0)|0;b[c>>0]=j>>>0>255?(j>>>31)+255|0:j;j=g+2|0;c=((h[f+2>>0]|0)+-120>>4)+(h[j>>0]|0)|0;b[j>>0]=c>>>0>255?(c>>>31)+255|0:c;c=g+3|0;j=((h[f+3>>0]|0)+-120>>4)+(h[c>>0]|0)|0;b[c>>0]=j>>>0>255?(j>>>31)+255|0:j;j=g+4|0;c=((h[f+4>>0]|0)+-120>>4)+(h[j>>0]|0)|0;b[j>>0]=c>>>0>255?(c>>>31)+255|0:c;c=g+5|0;j=((h[f+5>>0]|0)+-120>>4)+(h[c>>0]|0)|0;b[c>>0]=j>>>0>255?(j>>>31)+255|0:j;j=((h[f+6>>0]|0)+-120>>4)+(a&255)|0;b[g+6>>0]=j>>>0>255?(j>>>31)+255|0:j;j=g+7|0;c=((h[f+7>>0]|0)+-120>>4)+(h[j>>0]|0)|0;a=(c>>>0>255?(c>>>31)+255|0:c)&255;b[j>>0]=a;e=e+1|0;if((e|0)==8)break;else{g=g+d|0;f=f+8|0}}return}function Bf(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;k=g<<1|1;if((e|0)<=0)return;g=X(c,-2)|0;l=0-c|0;m=f[5]|0;n=f[2]|0;o=f[3]|0;p=f[4]|0;q=a;a=e;while(1){e=a;a=a+-1|0;if(Cf(q,c,k,i)|0){r=q+g|0;s=h[r>>0]|0;t=q+l|0;u=h[t>>0]|0;if((h[m+(s-u)>>0]|0)<=(j|0)){v=q+c|0;w=b[v>>0]|0;x=w&255;y=b[q>>0]|0;z=y&255;if((h[m+(x-z)>>0]|0)>(j|0)){A=y;B=w;C=7}else{w=(z-u|0)*3|0;y=b[o+(w+4>>3)>>0]|0;D=b[o+(w+3>>3)>>0]|0;w=y+1>>1;b[r>>0]=b[p+(w+s)>>0]|0;b[t>>0]=b[p+(D+u)>>0]|0;b[q>>0]=b[p+(z-y)>>0]|0;E=v;F=x-w|0}}else{A=b[q>>0]|0;B=b[q+c>>0]|0;C=7}if((C|0)==7){C=0;w=A&255;x=(b[n+(s-(B&255))>>0]|0)+((w-u|0)*3|0)|0;s=b[o+(x+4>>3)>>0]|0;b[t>>0]=b[p+((b[o+(x+3>>3)>>0]|0)+u)>>0]|0;E=q;F=w-s|0}b[E>>0]=b[p+F>>0]|0}if((e|0)<=1)break;else q=q+d|0}return}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+(X(b,-3)|0)|0;g=h[e>>0]|0;e=a+(X(b,-2)|0)|0;i=h[e>>0]|0;e=h[a+(0-b)>>0]|0;j=h[a>>0]|0;k=h[a+b>>0]|0;l=h[a+(b<<1)>>0]|0;m=h[a+(b*3|0)>>0]|0;n=f[5]|0;if((((h[n+(e-j)>>0]|0)<<2)+(h[n+(i-k)>>0]|0)|0)>(c|0)){o=0;return o|0}c=a+(X(b,-4)|0)|0;if(((((h[n+((h[c>>0]|0)-g)>>0]|0|0)<=(d|0)?(h[n+(g-i)>>0]|0|0)<=(d|0):0)?(h[n+(i-e)>>0]|0|0)<=(d|0):0)?(h[n+(m-l)>>0]|0|0)<=(d|0):0)?(h[n+(l-k)>>0]|0|0)<=(d|0):0)p=(h[n+(k-j)>>0]|0|0)<=(d|0);else p=0;o=p&1;return o|0}function Df(a,c,d,e,g,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;k=g<<1|1;if((e|0)<=0)return;g=X(c,-2)|0;l=0-c|0;m=f[5]|0;n=f[2]|0;o=f[3]|0;p=f[4]|0;q=X(c,-3)|0;r=c<<1;s=a;a=e;while(1){e=a;a=a+-1|0;if(Cf(s,c,k,i)|0){t=s+g|0;u=h[t>>0]|0;v=s+l|0;w=h[v>>0]|0;if((h[m+(u-w)>>0]|0)<=(j|0)){x=s+c|0;y=b[x>>0]|0;z=y&255;A=b[s>>0]|0;B=A&255;if((h[m+(z-B)>>0]|0)>(j|0)){C=A;D=y;E=7}else{y=s+q|0;A=s+r|0;F=h[A>>0]|0;G=b[n+((b[n+(u-z)>>0]|0)+((B-w|0)*3|0))>>0]|0;H=(G*27|0)+63>>7;I=(G*18|0)+63>>7;J=(G*9|0)+63>>7;b[y>>0]=b[p+(J+(h[y>>0]|0))>>0]|0;b[t>>0]=b[p+(I+u)>>0]|0;b[v>>0]=b[p+(H+w)>>0]|0;b[s>>0]=b[p+(B-H)>>0]|0;b[x>>0]=b[p+(z-I)>>0]|0;K=A;L=F-J|0}}else{C=b[s>>0]|0;D=b[s+c>>0]|0;E=7}if((E|0)==7){E=0;J=C&255;F=(b[n+(u-(D&255))>>0]|0)+((J-w|0)*3|0)|0;u=b[o+(F+4>>3)>>0]|0;b[v>>0]=b[p+((b[o+(F+3>>3)>>0]|0)+w)>>0]|0;K=s;L=J-u|0}b[K>>0]=b[p+L>>0]|0}if((e|0)<=1)break;else s=s+d|0}return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=a+(X(c,-2)|0)|0;e=a+(0-c)|0;g=h[e>>0]|0;i=h[a>>0]|0;j=(b[(f[2]|0)+((h[d>>0]|0)-(h[a+c>>0]|0))>>0]|0)+((i-g|0)*3|0)|0;c=f[3]|0;d=b[c+(j+4>>3)>>0]|0;k=f[4]|0;b[e>>0]=b[k+((b[c+(j+3>>3)>>0]|0)+g)>>0]|0;b[a>>0]=b[k+(i-d)>>0]|0;return}function Ff(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=u;u=u+64|0;g=e;i=d[a>>1]|0;j=d[a+16>>1]|0;k=j+i|0;l=i-j|0;j=d[a+8>>1]|0;i=d[a+24>>1]|0;m=(j*35468>>16)-i-(i*20091>>16)|0;n=(j*20091>>16)+j+(i*35468>>16)|0;f[g>>2]=n+k;f[g+4>>2]=m+l;f[g+8>>2]=l-m;f[g+12>>2]=k-n;n=d[a+2>>1]|0;k=d[a+18>>1]|0;m=k+n|0;l=n-k|0;k=d[a+10>>1]|0;n=d[a+26>>1]|0;i=(k*35468>>16)-n-(n*20091>>16)|0;j=(k*20091>>16)+k+(n*35468>>16)|0;n=j+m|0;f[g+16>>2]=n;f[g+20>>2]=i+l;f[g+24>>2]=l-i;f[g+28>>2]=m-j;j=d[a+4>>1]|0;m=d[a+20>>1]|0;i=m+j|0;l=j-m|0;m=d[a+12>>1]|0;j=d[a+28>>1]|0;k=(m*35468>>16)-j-(j*20091>>16)|0;o=(m*20091>>16)+m+(j*35468>>16)|0;f[g+32>>2]=o+i;f[g+36>>2]=k+l;f[g+40>>2]=l-k;f[g+44>>2]=i-o;o=d[a+6>>1]|0;i=d[a+22>>1]|0;k=i+o|0;l=o-i|0;i=d[a+14>>1]|0;o=d[a+30>>1]|0;a=(i*35468>>16)-o-(o*20091>>16)|0;j=(i*20091>>16)+i+(o*35468>>16)|0;f[g+48>>2]=j+k;f[g+52>>2]=a+l;f[g+56>>2]=l-a;f[g+60>>2]=k-j;j=c;c=0;k=g;g=n;while(1){n=(f[k>>2]|0)+4|0;a=f[k+32>>2]|0;l=n+a|0;o=n-a|0;a=f[k+48>>2]|0;n=(g*35468>>16)-a-(a*20091>>16)|0;i=(g*20091>>16)+g+(a*35468>>16)|0;a=(i+l>>3)+(h[j>>0]|0)|0;b[j>>0]=a>>>0>255?(a>>>31)+255|0:a;a=j+1|0;m=(n+o>>3)+(h[a>>0]|0)|0;b[a>>0]=m>>>0>255?(m>>>31)+255|0:m;m=j+2|0;a=(h[m>>0]|0)+(o-n>>3)|0;b[m>>0]=a>>>0>255?(a>>>31)+255|0:a;a=j+3|0;m=(h[a>>0]|0)+(l-i>>3)|0;b[a>>0]=m>>>0>255?(m>>>31)+255|0:m;m=c+1|0;if((m|0)==4)break;a=f[k+20>>2]|0;j=j+32|0;c=m;k=k+4|0;g=a}u=e;return}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;if((a|0)==0|(c|0)==0|(d&-256|0)!=512){e=2;return e|0}d=c;g=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));e=Hf(a,b,c,c+4|0,c+8|0,c+12|0,c+16|0,0)|0;return e|0}function Hf(a,b,c,d,e,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;k=u;u=u+16|0;l=k+4|0;m=k;n=a;f[l>>2]=0;f[m>>2]=0;o=(j|0)!=0;if(o)p=f[j+8>>2]|0;else p=0;if((a|0)==0|b>>>0<12){q=7;u=k;return q|0}if(b>>>0>11)if(!(Eg(a,5465,4)|0)){if(Eg(a+8|0,5470,4)|0){q=3;u=k;return q|0}r=(h[a+5>>0]|0)<<8|(h[a+4>>0]|0)|((h[a+7>>0]|0)<<8|(h[a+6>>0]|0))<<16;if((r+-12|0)>>>0>4294967274){q=3;u=k;return q|0}if((p|0)!=0&r>>>0>(b+-8|0)>>>0){q=7;u=k;return q|0}else{s=b+-12|0;t=a+12|0;v=r;w=9}}else{x=b;y=n;z=0;A=0}else{s=b;t=n;v=0;w=9}if((w|0)==9)if(s>>>0<8){q=7;u=k;return q|0}else{x=s;y=t;z=v;A=(v|0)!=0}v=y;if(!(Eg(v,5475,4)|0)){if(((h[v+5>>0]|0)<<8|(h[v+4>>0]|0)|((h[v+7>>0]|0)<<8|(h[v+6>>0]|0))<<16|0)!=10){q=3;u=k;return q|0}if(x>>>0<18){q=7;u=k;return q|0}t=h[v+8>>0]|0;s=((h[v+13>>0]|0)<<8|(h[v+12>>0]|0)|(h[v+14>>0]|0)<<16)+1|0;r=((h[v+16>>0]|0)<<8|(h[v+15>>0]|0)|(h[v+17>>0]|0)<<16)+1|0;a=X(s,r)|0;B=(r|0)==0;if(B?0:((a>>>0)/((B?1:r)>>>0)|0|0)!=(s|0)){q=3;u=k;return q|0}B=t&2;if(A){C=t;D=1;E=r;F=s;G=x+-18|0;H=B>>>1;I=v+18|0;J=(B|0)!=0;K=1}else{q=3;u=k;return q|0}}else{C=0;D=0;E=0;F=0;G=x;H=0;I=y;J=0;K=0}y=(e|0)==0;if(!y)f[e>>2]=C>>>4&1;if(g|0)f[g>>2]=H;g=(i|0)==0;if(!g)f[i>>2]=0;f[l>>2]=F;f[m>>2]=E;C=(j|0)==0;a:do if(!(C&(K&J))){b:do if(G>>>0>=4){if(!(A&(D|0)!=0))if((D|z|0)==0?(x=I,(Eg(x,5480,4)|0)==0):0){L=x;w=27}else{M=G;N=I;O=0;P=0}else{L=I;w=27}c:do if((w|0)==27){if(G>>>0<8){Q=0;break b}if(!z){x=L;B=G;v=I;s=0;r=0;while(1){t=(h[x+5>>0]|0)<<8|(h[x+4>>0]|0)|((h[x+7>>0]|0)<<8|(h[x+6>>0]|0))<<16;if(t>>>0>4294967286){q=3;break}a=t+9&-2;if(!(Eg(x,5485,4)|0)){M=B;N=v;O=s;P=r;break c}if(!(Eg(x,5490,4)|0)){M=B;N=v;O=s;P=r;break c}if(B>>>0<a>>>0){Q=r;break b}R=(Eg(x,5480,4)|0)==0;S=R?x+8|0:r;T=x+a|0;U=B-a|0;if(U>>>0<8){Q=S;break b}else{x=T;B=U;v=T;s=R?t:s;r=S}}u=k;return q|0}else{V=L;W=22;Y=G;Z=I;_=0;$=0}while(1){r=(h[V+5>>0]|0)<<8|(h[V+4>>0]|0)|((h[V+7>>0]|0)<<8|(h[V+6>>0]|0))<<16;if(r>>>0>4294967286){q=3;w=65;break}s=r+9&-2;v=s+W|0;if(v>>>0>z>>>0){q=3;w=65;break}if(!(Eg(V,5485,4)|0)){M=Y;N=Z;O=_;P=$;break c}if(!(Eg(V,5490,4)|0)){M=Y;N=Z;O=_;P=$;break c}if(Y>>>0<s>>>0){Q=$;break b}B=(Eg(V,5480,4)|0)==0;x=B?V+8|0:$;S=V+s|0;t=Y-s|0;if(t>>>0<8){Q=x;break b}else{V=S;W=v;Y=t;Z=S;_=B?r:_;$=x}}if((w|0)==65){u=k;return q|0}}while(0);x=N;r=(Eg(x,5490,4)|0)==0;B=r&1;if(M>>>0<8)Q=P;else{if(r|(Eg(x,5485,4)|0)==0){r=(h[x+5>>0]|0)<<8|(h[x+4>>0]|0)|((h[x+7>>0]|0)<<8|(h[x+6>>0]|0))<<16;if(z>>>0>11&r>>>0>(z+-12|0)>>>0){q=3;u=k;return q|0}S=M+-8|0;if((p|0)!=0&r>>>0>S>>>0){Q=P;break}aa=S;ba=x+8|0;ca=r;da=B}else{aa=M;ba=N;ca=M;da=If(x,M)|0}if(ca>>>0>4294967286){q=3;u=k;return q|0}x=(da|0)!=0;if(!(g|(H|0)!=0))f[i>>2]=x?2:1;if(x){if(aa>>>0<5){Q=P;break}if(!(Kf(ba,aa,l,m,e)|0)){q=3;u=k;return q|0}}else{if(aa>>>0<10){Q=P;break}if(!(Jf(ba,aa,ca,l,m)|0)){q=3;u=k;return q|0}}if(D|0?!((F|0)==(f[l>>2]|0)?(E|0)==(f[m>>2]|0):0):0){q=3;u=k;return q|0}if(!o){ea=P;break a}f[j>>2]=n;f[j+4>>2]=b;x=j+8|0;f[x>>2]=0;f[x+4>>2]=0;f[j+16>>2]=P;f[j+20>>2]=O;f[j+24>>2]=ca;f[j+28>>2]=z;f[j+32>>2]=da;f[j+12>>2]=ba-n;ea=P;break a}}else Q=0;while(0);if(C&(D|0)!=0)ea=Q;else{q=7;u=k;return q|0}}else ea=0;while(0);if(!y)f[e>>2]=f[e>>2]|(ea|0)!=0;if(c|0)f[c>>2]=f[l>>2];if(!d){q=0;u=k;return q|0}f[d>>2]=f[m>>2];q=0;u=k;return q|0}function If(a,c){a=a|0;c=c|0;var d=0;if(c>>>0>4?(b[a>>0]|0)==47:0)d=(h[a+4>>0]|0)<32;else d=0;return d&1|0}function Jf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0;if(!(c>>>0>9&(a|0)!=0&(c+-3|0)>>>0>2)){i=0;return i|0}if((b[a+3>>0]|0)!=-99){i=0;return i|0}if((b[a+4>>0]|0)!=1){i=0;return i|0}if((b[a+5>>0]|0)!=42){i=0;return i|0}c=h[a>>0]|0;j=h[a+7>>0]<<8&16128|h[a+6>>0];k=h[a+9>>0]<<8&16128|h[a+8>>0];if(!((c&8)>>>0<7&(c&17|0)==16&(h[a+1>>0]<<8|c|h[a+2>>0]<<16)>>>5>>>0<d>>>0)){i=0;return i|0}if((j|0)==0|(k|0)==0){i=0;return i|0}if(e|0)f[e>>2]=j;if(!g){i=1;return i|0}f[g>>2]=k;i=1;return i|0}function Kf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0;i=u;u=u+32|0;j=i;if(!((a|0)!=0&c>>>0>4)){k=0;u=i;return k|0}if((b[a>>0]|0)!=47){k=0;u=i;return k|0}if((h[a+4>>0]|0)>=32){k=0;u=i;return k|0}nc(j,a,c);if(((Xb(j,8)|0)==47?(c=(Xb(j,14)|0)+1|0,a=(Xb(j,14)|0)+1|0,l=Xb(j,1)|0,(Xb(j,3)|0)==0):0)?(f[j+24>>2]|0)==0:0){if(d|0)f[d>>2]=c;if(e|0)f[e>>2]=a;if(!g)m=1;else{f[g>>2]=l;m=1}}else m=0;k=m;u=i;return k|0}function Lf(a){a=a|0;var b=0;if(!a)return;b=(ve()|0)+20|0;nb[f[b>>2]&31](a+124|0);Fb(a);b=a+2288|0;Gb(f[b>>2]|0);f[b>>2]=0;f[a+2292>>2]=0;b=a+12|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[a+4>>2]=0;Gb(a);return}function Mf(){var a=0,b=0,c=0,d=0;a=Mb(1,0,2376)|0;if(!a)return a|0;f[a>>2]=0;f[a+8>>2]=6413;b=ve()|0;nb[f[b>>2]&31](a+124|0);f[a+4>>2]=0;f[a+312>>2]=0;if(f[3132]|0)return a|0;b=f[2893]|0;if(!b)c=3;else{d=(qb[b&7](2)|0)!=0;c=d?4:3}f[3132]=c;return a|0}function Nf(){var a=0,b=0;a=Mb(1,0,272)|0;if(!a){b=0;return b|0}f[a>>2]=0;f[a+4>>2]=2;mc();b=a;return b|0}function Of(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;if(!a){e=0;return e|0}f[a>>2]=0;g=a+8|0;f[g>>2]=6413;if(!c){f[a>>2]=2;f[g>>2]=6416;f[a+4>>2]=0;e=0;return e|0}i=f[c+64>>2]|0;j=f[c+60>>2]|0;if(j>>>0<4){f[a>>2]=7;f[g>>2]=6453;f[a+4>>2]=0;e=0;return e|0}k=h[i>>0]|0;l=h[i+1>>0]<<8|k|h[i+2>>0]<<16;m=(k&1^1)&255;n=a+40|0;b[n>>0]=m;o=k>>>1&7;b[a+41>>0]=o;p=k>>>4&1;b[a+42>>0]=p;k=l>>>5;l=a+44|0;f[l>>2]=k;if((o&255)>3){f[a>>2]=3;f[g>>2]=6471;f[a+4>>2]=0;e=0;return e|0}if(!(p<<24>>24)){f[a>>2]=4;f[g>>2]=6502;f[a+4>>2]=0;e=0;return e|0}p=i+3|0;o=j+-3|0;do if(!(m<<24>>24)){q=p;r=o;s=k}else{if(o>>>0<7){f[a>>2]=7;f[g>>2]=6525;f[a+4>>2]=0;e=0;return e|0}if(((b[p>>0]|0)==-99?(b[i+4>>0]|0)==1:0)?(b[i+5>>0]|0)==42:0){t=i+7|0;u=h[t>>0]<<8&16128|h[i+6>>0];d[a+48>>1]=u;b[a+52>>0]=(h[t>>0]|0)>>>6;t=i+9|0;v=h[t>>0]<<8&16128|h[i+8>>0];d[a+50>>1]=v;b[a+53>>0]=(h[t>>0]|0)>>>6;f[a+288>>2]=(u+15|0)>>>4;f[a+292>>2]=(v+15|0)>>>4;f[c>>2]=u;f[c+4>>2]=v;f[c+72>>2]=0;f[c+84>>2]=0;f[c+76>>2]=0;f[c+80>>2]=u;f[c+88>>2]=v;f[c+92>>2]=0;f[c+96>>2]=u;f[c+100>>2]=v;f[c+12>>2]=u;f[c+16>>2]=v;eg(a+904|0);f[a+104>>2]=0;f[a+108>>2]=0;f[a+112>>2]=1;f[a+116>>2]=0;f[a+120>>2]=0;q=i+10|0;r=j+-10|0;s=f[l>>2]|0;break}f[a>>2]=3;f[g>>2]=6553;f[a+4>>2]=0;e=0;return e|0}while(0);if(s>>>0>r>>>0){if(f[a>>2]|0){e=0;return e|0}f[a>>2]=7;f[g>>2]=6567;f[a+4>>2]=0;e=0;return e|0}j=a+12|0;fg(j,q,s);s=f[l>>2]|0;l=q+s|0;q=r-s|0;if(b[n>>0]|0){s=(gg(j,1)|0)&255;b[a+54>>0]=s;s=(gg(j,1)|0)&255;b[a+55>>0]=s}s=gg(j,1)|0;f[a+104>>2]=s;if(s){s=gg(j,1)|0;r=a+108|0;f[r>>2]=s;if(gg(j,1)|0){s=gg(j,1)|0;f[a+112>>2]=s;if(!(gg(j,1)|0))w=0;else w=(hg(j,7)|0)&255;b[a+116>>0]=w;if(!(gg(j,1)|0))x=0;else x=(hg(j,7)|0)&255;b[a+117>>0]=x;if(!(gg(j,1)|0))y=0;else y=(hg(j,7)|0)&255;b[a+118>>0]=y;if(!(gg(j,1)|0))z=0;else z=(hg(j,7)|0)&255;b[a+119>>0]=z;if(!(gg(j,1)|0))A=0;else A=(hg(j,6)|0)&255;b[a+120>>0]=A;if(!(gg(j,1)|0))B=0;else B=(hg(j,6)|0)&255;b[a+121>>0]=B;if(!(gg(j,1)|0))C=0;else C=(hg(j,6)|0)&255;b[a+122>>0]=C;if(!(gg(j,1)|0))D=0;else D=(hg(j,6)|0)&255;b[a+123>>0]=D}if(f[r>>2]|0){if(!(gg(j,1)|0))E=-1;else E=(gg(j,8)|0)&255;b[a+904>>0]=E;if(!(gg(j,1)|0))F=-1;else F=(gg(j,8)|0)&255;b[a+905>>0]=F;if(!(gg(j,1)|0))G=-1;else G=(gg(j,8)|0)&255;b[a+906>>0]=G}}else f[a+108>>2]=0;G=a+36|0;if(f[G>>2]|0){if(f[a>>2]|0){e=0;return e|0}f[a>>2]=3;f[g>>2]=6588;f[a+4>>2]=0;e=0;return e|0}F=gg(j,1)|0;E=a+56|0;f[E>>2]=F;F=gg(j,6)|0;r=a+60|0;f[r>>2]=F;F=gg(j,3)|0;f[a+64>>2]=F;F=gg(j,1)|0;f[a+68>>2]=F;do if(F|0?gg(j,1)|0:0){if(gg(j,1)|0){D=hg(j,6)|0;f[a+72>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+76>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+80>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+84>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+88>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+92>>2]=D}if(gg(j,1)|0){D=hg(j,6)|0;f[a+96>>2]=D}if(!(gg(j,1)|0))break;D=hg(j,6)|0;f[a+100>>2]=D}while(0);if(!(f[r>>2]|0))H=0;else H=f[E>>2]|0?1:2;f[a+2308>>2]=H;if(f[G>>2]|0){if(f[a>>2]|0){e=0;return e|0}f[a>>2]=3;f[g>>2]=6616;f[a+4>>2]=0;e=0;return e|0}G=l+q|0;H=(1<<(gg(j,2)|0))+-1|0;f[a+312>>2]=H;E=H*3|0;if(q>>>0>=E>>>0){r=l+E|0;F=q-E|0;if(!H){I=F;J=r}else{E=0;q=F;F=r;r=l;while(1){l=h[r+1>>0]<<8|h[r>>0]|h[r+2>>0]<<16;D=l>>>0>q>>>0?q:l;fg(a+316+(E*28|0)|0,F,D);l=F+D|0;C=q-D|0;E=E+1|0;if((E|0)==(H|0)){I=C;J=l;break}else{q=C;F=l;r=r+3|0}}}fg(a+316+(H*28|0)|0,J,I);if(J>>>0<G>>>0){ig(a);if(b[n>>0]|0){gg(j,1)|0;jg(j,a);f[a+4>>2]=1;e=1;return e|0}if(f[a>>2]|0){e=0;return e|0}f[a>>2]=4;f[g>>2]=6667;f[a+4>>2]=0;e=0;return e|0}else K=5}else K=7;if(f[a>>2]|0){e=0;return e|0}f[a>>2]=K;f[g>>2]=6643;f[a+4>>2]=0;e=0;return e|0}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;d=c+288|0;if((f[d>>2]|0)<=0){e=c+36|0;g=f[e>>2]|0;i=(g|0)==0;j=i&1;return j|0}k=c+2244|0;l=c+2248|0;m=c+2304|0;n=c+108|0;o=c+2236|0;p=a+4|0;q=a+8|0;r=a+12|0;s=a+20|0;t=c+2240|0;u=c+904|0;v=c+906|0;w=c+905|0;x=0;do{y=(f[k>>2]|0)+(x<<2)|0;z=f[m>>2]|0;if(!(f[n>>2]|0))A=0;else{B=h[u>>0]|0;C=f[p>>2]|0;D=f[q>>2]|0;do if((D|0)<0){E=f[r>>2]|0;if(E>>>0<(f[s>>2]|0)>>>0){F=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;f[r>>2]=E+3;E=(Dh(F|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|E;E=D+24|0;f[q>>2]=E;G=E;break}else{dg(a);G=f[q>>2]|0;break}}else G=D;while(0);D=(X(C,B)|0)>>>8;E=f[a>>2]|0;F=E>>>G>>>0>D>>>0;H=D+1|0;I=E-(H<<G)|0;if(F){f[a>>2]=I;J=C-D|0;K=I}else{J=H;K=E}E=(_(J|0)|0)^24;H=G-E|0;f[q>>2]=H;I=(J<<E)+-1|0;f[p>>2]=I;if(F){F=h[v>>0]|0;do if((H|0)<0){E=f[r>>2]|0;if(E>>>0<(f[s>>2]|0)>>>0){D=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;f[r>>2]=E+3;E=(Dh(D|0)|0)>>>8|K<<24;f[a>>2]=E;D=H+24|0;f[q>>2]=D;L=E;M=D;break}else{dg(a);L=f[a>>2]|0;M=f[q>>2]|0;break}}else{L=K;M=H}while(0);C=(X(F,I)|0)>>>8;B=L>>>M>>>0>C>>>0;D=C+1|0;if(B){f[a>>2]=L-(D<<M);N=I-C|0}else N=D;D=(_(N|0)|0)^24;f[q>>2]=M-D;f[p>>2]=(N<<D)+-1;O=B?3:2}else{B=h[w>>0]|0;do if((H|0)<0){D=f[r>>2]|0;if(D>>>0<(f[s>>2]|0)>>>0){C=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[r>>2]=D+3;D=(Dh(C|0)|0)>>>8|K<<24;f[a>>2]=D;C=H+24|0;f[q>>2]=C;P=D;Q=C;break}else{dg(a);P=f[a>>2]|0;Q=f[q>>2]|0;break}}else{P=K;Q=H}while(0);H=(X(B,I)|0)>>>8;F=P>>>Q>>>0>H>>>0;C=H+1|0;if(F){f[a>>2]=P-(C<<Q);R=I-H|0}else R=C;C=(_(R|0)|0)^24;f[q>>2]=Q-C;f[p>>2]=(R<<C)+-1;O=F&1}A=O&255}b[z+(x*800|0)+798>>0]=A;if(!(f[o>>2]|0)){S=f[q>>2]|0;T=f[p>>2]|0}else{F=h[t>>0]|0;C=f[p>>2]|0;H=f[q>>2]|0;do if((H|0)<0){D=f[r>>2]|0;if(D>>>0<(f[s>>2]|0)>>>0){E=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[r>>2]=D+3;D=(Dh(E|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|D;D=H+24|0;f[q>>2]=D;U=D;break}else{dg(a);U=f[q>>2]|0;break}}else U=H;while(0);H=(X(C,F)|0)>>>8;I=f[a>>2]|0;B=I>>>U>>>0>H>>>0;D=H+1|0;if(B){f[a>>2]=I-(D<<U);V=C-H|0}else V=D;D=(_(V|0)|0)^24;H=U-D|0;f[q>>2]=H;I=(V<<D)+-1|0;f[p>>2]=I;b[z+(x*800|0)+797>>0]=B&1;S=H;T=I}do if((S|0)<0){I=f[r>>2]|0;if(I>>>0<(f[s>>2]|0)>>>0){H=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[r>>2]=I+3;I=(Dh(H|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|I;I=S+24|0;f[q>>2]=I;W=I;break}else{dg(a);W=f[q>>2]|0;break}}else W=S;while(0);C=(T*145|0)>>>8;F=f[a>>2]|0;I=F>>>W>>>0>C>>>0;H=C+1|0;B=F-(H<<W)|0;if(I){f[a>>2]=B;Y=T-C|0;Z=B}else{Y=H;Z=F}F=(_(Y|0)|0)^24;H=W-F|0;f[q>>2]=H;B=(Y<<F)+-1|0;f[p>>2]=B;b[z+(x*800|0)+768>>0]=(I^1)&1;if(I){do if((H|0)<0){I=f[r>>2]|0;if(I>>>0<(f[s>>2]|0)>>>0){F=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[r>>2]=I+3;I=(Dh(F|0)|0)>>>8|Z<<24;f[a>>2]=I;F=H+24|0;f[q>>2]=F;$=I;aa=F;break}else{dg(a);$=f[a>>2]|0;aa=f[q>>2]|0;break}}else{$=Z;aa=H}while(0);H=(B*156|0)>>>8;F=$>>>aa>>>0>H>>>0;I=H+1|0;C=$-(I<<aa)|0;if(F){f[a>>2]=C;ba=B-H|0;ca=C}else{ba=I;ca=$}I=(_(ba|0)|0)^24;C=aa-I|0;f[q>>2]=C;H=(ba<<I)+-1|0;f[p>>2]=H;I=(C|0)<0;if(F){do if(I){F=f[r>>2]|0;if(F>>>0<(f[s>>2]|0)>>>0){D=h[F>>0]|h[F+1>>0]<<8|h[F+2>>0]<<16|h[F+3>>0]<<24;f[r>>2]=F+3;F=(Dh(D|0)|0)>>>8|ca<<24;f[a>>2]=F;D=C+24|0;f[q>>2]=D;da=F;ea=D;break}else{dg(a);da=f[a>>2]|0;ea=f[q>>2]|0;break}}else{da=ca;ea=C}while(0);B=H>>>1&16777215;D=da>>>ea>>>0>B>>>0;F=B+1|0;if(D){f[a>>2]=da-(F<<ea);fa=H-B|0}else fa=F;F=(_(fa|0)|0)^24;f[q>>2]=ea-F;f[p>>2]=(fa<<F)+-1;ga=D?1:3}else{do if(I){D=f[r>>2]|0;if(D>>>0<(f[s>>2]|0)>>>0){F=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;f[r>>2]=D+3;D=(Dh(F|0)|0)>>>8|ca<<24;f[a>>2]=D;F=C+24|0;f[q>>2]=F;ha=D;ia=F;break}else{dg(a);ha=f[a>>2]|0;ia=f[q>>2]|0;break}}else{ha=ca;ia=C}while(0);C=(H*163|0)>>>8;I=ha>>>ia>>>0>C>>>0;F=C+1|0;if(I){f[a>>2]=ha-(F<<ia);ja=H-C|0}else ja=F;F=(_(ja|0)|0)^24;f[q>>2]=ia-F;f[p>>2]=(ja<<F)+-1;ga=I?2:0}I=ga&255;b[z+(x*800|0)+769>>0]=I;ph(y|0,I|0,4)|0;ph(l|0,I|0,4)|0}else{I=z+(x*800|0)+769|0;F=0;while(1){C=c+2248+F|0;D=0;B=h[C>>0]|0;do{E=y+D|0;ka=h[E>>0]|0;la=h[5495+(ka*90|0)+(B*9|0)>>0]|0;ma=f[p>>2]|0;na=f[q>>2]|0;do if((na|0)<0){oa=f[r>>2]|0;if(oa>>>0<(f[s>>2]|0)>>>0){pa=h[oa>>0]|h[oa+1>>0]<<8|h[oa+2>>0]<<16|h[oa+3>>0]<<24;f[r>>2]=oa+3;oa=(Dh(pa|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|oa;oa=na+24|0;f[q>>2]=oa;qa=oa;break}else{dg(a);qa=f[q>>2]|0;break}}else qa=na;while(0);na=(X(ma,la)|0)>>>8;oa=f[a>>2]|0;pa=oa>>>qa>>>0>na>>>0;ra=pa&1;sa=na+1|0;ta=oa-(sa<<qa)|0;if(pa){f[a>>2]=ta;ua=ma-na|0;va=ta}else{ua=sa;va=oa}oa=(_(ua|0)|0)^24;sa=qa-oa|0;f[q>>2]=sa;ta=(ua<<oa)+-1|0;f[p>>2]=ta;oa=b[6395+ra>>0]|0;if(!(41706>>>ra&1))wa=oa;else{ra=oa;oa=sa;sa=va;na=ta;while(1){ta=ra<<1;pa=h[5495+(ka*90|0)+(B*9|0)+ra>>0]|0;do if((oa|0)<0){xa=f[r>>2]|0;if(xa>>>0<(f[s>>2]|0)>>>0){ya=h[xa>>0]|h[xa+1>>0]<<8|h[xa+2>>0]<<16|h[xa+3>>0]<<24;f[r>>2]=xa+3;xa=(Dh(ya|0)|0)>>>8|sa<<24;f[a>>2]=xa;ya=oa+24|0;f[q>>2]=ya;za=xa;Aa=ya;break}else{dg(a);za=f[a>>2]|0;Aa=f[q>>2]|0;break}}else{za=sa;Aa=oa}while(0);ya=(X(pa,na)|0)>>>8;xa=za>>>Aa>>>0>ya>>>0;Ba=ya+1|0;Ca=za-(Ba<<Aa)|0;if(xa){f[a>>2]=Ca;Da=na-ya|0;Ea=Ca}else{Da=Ba;Ea=za}Ba=(_(Da|0)|0)^24;oa=Aa-Ba|0;f[q>>2]=oa;na=(Da<<Ba)+-1|0;f[p>>2]=na;Ba=xa&1|ta;xa=b[6395+Ba>>0]|0;if(!(41706>>>Ba&1)){wa=xa;break}else{ra=xa;sa=Ea}}}B=0-wa|0;Fa=B&255;b[E>>0]=Fa;D=D+1|0}while((D|0)!=4);D=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[I>>0]=D;b[I+1>>0]=D>>8;b[I+2>>0]=D>>16;b[I+3>>0]=D>>24;b[C>>0]=Fa;F=F+1|0;if((F|0)==4)break;else I=I+4|0}}I=f[p>>2]|0;F=f[q>>2]|0;do if((F|0)<0){y=f[r>>2]|0;if(y>>>0<(f[s>>2]|0)>>>0){H=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;f[r>>2]=y+3;y=(Dh(H|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|y;y=F+24|0;f[q>>2]=y;Ga=y;break}else{dg(a);Ga=f[q>>2]|0;break}}else Ga=F;while(0);F=(I*142|0)>>>8;y=f[a>>2]|0;H=y>>>Ga>>>0>F>>>0;D=F+1|0;B=y-(D<<Ga)|0;if(H){f[a>>2]=B;Ha=I-F|0;Ia=B}else{Ha=D;Ia=y}y=(_(Ha|0)|0)^24;D=Ga-y|0;f[q>>2]=D;B=(Ha<<y)+-1|0;f[p>>2]=B;if(H){do if((D|0)<0){H=f[r>>2]|0;if(H>>>0<(f[s>>2]|0)>>>0){y=h[H>>0]|h[H+1>>0]<<8|h[H+2>>0]<<16|h[H+3>>0]<<24;f[r>>2]=H+3;H=(Dh(y|0)|0)>>>8|Ia<<24;f[a>>2]=H;y=D+24|0;f[q>>2]=y;Ja=H;Ka=y;break}else{dg(a);Ja=f[a>>2]|0;Ka=f[q>>2]|0;break}}else{Ja=Ia;Ka=D}while(0);D=(B*114|0)>>>8;I=Ja>>>Ka>>>0>D>>>0;y=D+1|0;H=Ja-(y<<Ka)|0;if(I){f[a>>2]=H;La=B-D|0;Ma=H}else{La=y;Ma=Ja}y=(_(La|0)|0)^24;H=Ka-y|0;f[q>>2]=H;D=(La<<y)+-1|0;f[p>>2]=D;if(I){do if((H|0)<0){I=f[r>>2]|0;if(I>>>0<(f[s>>2]|0)>>>0){y=h[I>>0]|h[I+1>>0]<<8|h[I+2>>0]<<16|h[I+3>>0]<<24;f[r>>2]=I+3;I=(Dh(y|0)|0)>>>8|Ma<<24;f[a>>2]=I;y=H+24|0;f[q>>2]=y;Na=I;Oa=y;break}else{dg(a);Na=f[a>>2]|0;Oa=f[q>>2]|0;break}}else{Na=Ma;Oa=H}while(0);H=(D*183|0)>>>8;B=Na>>>Oa>>>0>H>>>0;y=H+1|0;if(B){f[a>>2]=Na-(y<<Oa);Pa=D-H|0}else Pa=y;y=(_(Pa|0)|0)^24;f[q>>2]=Oa-y;f[p>>2]=(Pa<<y)+-1;Qa=B?1:3}else Qa=2}else Qa=0;b[z+(x*800|0)+785>>0]=Qa;x=x+1|0}while((x|0)<(f[d>>2]|0));e=c+36|0;g=f[e>>2]|0;i=(g|0)==0;j=i&1;return j|0}function Qf(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=u;u=u+32|0;g=e;i=f[a+2256>>2]|0;j=a+2296|0;k=f[j>>2]|0;l=i+(k<<1)|0;m=f[a+2304>>2]|0;if((f[a+2236>>2]|0)!=0?(n=b[m+(k*800|0)+797>>0]|0,o=n&255,n<<24>>24!=0):0){b[l>>0]=0;b[i+-2>>0]=0;if(!(b[m+(k*800|0)+768>>0]|0)){b[i+(k<<1)+1>>0]=0;b[i+-1>>0]=0}f[m+(k*800|0)+788>>2]=0;f[m+(k*800|0)+792>>2]=0;b[m+(k*800|0)+796>>0]=0;p=o}else{o=m+(k*800|0)|0;n=h[m+(k*800|0)+798>>0]|0;ph(o|0,0,768)|0;if(!(b[m+(k*800|0)+768>>0]|0)){q=g;r=q+32|0;do{d[q>>1]=0;q=q+2|0}while((q|0)<(r|0));q=i+(k<<1)+1|0;r=i+-1|0;s=pb[f[3132]&7](c,a+2032|0,(h[r>>0]|0)+(h[q>>0]|0)|0,a+776+(n<<5)+8|0,0,g)|0;t=(s|0)>0&1;b[r>>0]=t;b[q>>0]=t;if((s|0)>1)ob[f[2894]&15](g,o);else{s=((d[g>>1]|0)+3|0)>>>3&65535;d[m+(k*800|0)>>1]=s;d[m+(k*800|0)+32>>1]=s;d[m+(k*800|0)+64>>1]=s;d[m+(k*800|0)+96>>1]=s;d[m+(k*800|0)+128>>1]=s;d[m+(k*800|0)+160>>1]=s;d[m+(k*800|0)+192>>1]=s;d[m+(k*800|0)+224>>1]=s;d[m+(k*800|0)+256>>1]=s;d[m+(k*800|0)+288>>1]=s;d[m+(k*800|0)+320>>1]=s;d[m+(k*800|0)+352>>1]=s;d[m+(k*800|0)+384>>1]=s;d[m+(k*800|0)+416>>1]=s;d[m+(k*800|0)+448>>1]=s;d[m+(k*800|0)+480>>1]=s}v=1;w=0}else{v=0;w=3}s=a+1964+(w*68|0)|0;w=i+-2|0;i=a+776+(n<<5)|0;g=o;o=b[l>>0]&15;t=0;q=0;r=b[w>>0]&15;while(1){x=o&255;y=pb[f[3132]&7](c,s,(x&1)+(r&1)|0,i,v,g)|0;z=(y|0)>(v|0)&1;A=x>>>1;x=(d[g>>1]|0)!=0&1;B=g+32|0;C=pb[f[3132]&7](c,s,z+(A&1)|0,i,v,B)|0;D=(C|0)>(v|0)&1;E=(z<<7|A)>>>1;A=((C|0)>3?3:(C|0)>1?2:(d[B>>1]|0)!=0&1)|((y|0)>3?12:(y|0)>1?8:x<<2);x=g+64|0;y=pb[f[3132]&7](c,s,(E&1)+D|0,i,v,x)|0;B=(y|0)>(v|0)&1;C=(D<<7|E)>>>1;E=((y|0)>3?3:(y|0)>1?2:(d[x>>1]|0)!=0&1)|A<<2;A=g+96|0;x=pb[f[3132]&7](c,s,(C&1)+B|0,i,v,A)|0;y=((x|0)>(v|0)&1)<<7;o=((y|(B<<7|C)>>>1)&255)>>>4;r=y|r>>>1;t=E<<2|t<<8|((x|0)>3?3:(x|0)>1?2:(d[A>>1]|0)!=0&1);q=q+1|0;if((q|0)==4)break;else g=g+128|0}g=a+2100|0;q=a+776+(n<<5)+16|0;v=0;i=r>>>4;r=o&255;o=0;s=m+(k*800|0)+512|0;while(1){A=o+4|0;x=(h[l>>0]|0)>>>A;E=(h[w>>0]|0)>>>A;A=pb[f[3132]&7](c,g,(E&1)+(x&1)|0,q,0,s)|0;y=(A|0)>0&1;C=x>>>1;x=(d[s>>1]|0)!=0&1;B=s+32|0;D=pb[f[3132]&7](c,g,y+(C&1)|0,q,0,B)|0;z=(D|0)>0&1;F=(y<<3|C)>>>3;C=((D|0)>3?3:(D|0)>1?2:(d[B>>1]|0)!=0&1)|((A|0)>3?12:(A|0)>1?8:x<<2);x=s+64|0;A=E>>>1;E=pb[f[3132]&7](c,g,(F&1)+(A&1)|0,q,0,x)|0;B=(E|0)>0&1;D=(z<<1|F)>>>1;F=((E|0)>3?3:(E|0)>1?2:(d[x>>1]|0)!=0&1)|C<<2;C=s+96|0;x=pb[f[3132]&7](c,g,(D&1)+B|0,q,0,C)|0;E=(x|0)>0&1;v=(((x|0)>3?3:(x|0)>1?2:(d[C>>1]|0)!=0&1)|F<<2)<<(o<<2)|v;r=((E<<1|(B<<3|D&120)>>>3)<<4&4080)<<o|r;i=(E<<5|(z<<5|A)>>>1&112)<<o|i;o=o+2|0;if((o|0)>=4)break;else s=s+128|0}b[l>>0]=r;b[w>>0]=i;f[m+(k*800|0)+788>>2]=t;f[m+(k*800|0)+792>>2]=v;if(!(v&43690))G=f[a+776+(n<<5)+28>>2]&255;else G=0;b[m+(k*800|0)+796>>0]=G;p=(v|t|0)==0&1}if((f[a+2308>>2]|0)<=0){H=c+24|0;I=f[H>>2]|0;J=(I|0)==0;K=J&1;u=e;return K|0}t=f[a+2260>>2]|0;v=f[j>>2]|0;j=t+(v<<2)|0;G=a+2312+(h[m+(k*800|0)+798>>0]<<3)+(h[m+(k*800|0)+768>>0]<<2)|0;k=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;b[j>>0]=k;b[j+1>>0]=k>>8;b[j+2>>0]=k>>16;b[j+3>>0]=k>>24;k=t+(v<<2)+2|0;b[k>>0]=h[k>>0]|(p|0)==0;H=c+24|0;I=f[H>>2]|0;J=(I|0)==0;K=J&1;u=e;return K|0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;if(!a){c=0;return c|0}if(!b){f[a>>2]=2;c=0;return c|0}f[a+8>>2]=b;f[a>>2]=0;d=a+24|0;nc(d,f[b+64>>2]|0,f[b+60>>2]|0);if(((Xb(d,8)|0)==47?(e=(Xb(d,14)|0)+1|0,g=(Xb(d,14)|0)+1|0,Xb(d,1)|0,(Xb(d,3)|0)==0):0)?(f[a+48>>2]|0)==0:0){f[a+4>>2]=2;f[b>>2]=e;f[b+4>>2]=g;if(oc(e,g,1,a,0)|0){c=1;return c|0}}else f[a>>2]=3;Ib(a);c=0;return c|0}function Sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!a){b=0;return b|0}c=f[a+8>>2]|0;d=f[c+40>>2]|0;e=a+4|0;a:do if(!(f[e>>2]|0)){g=a+100|0;h=a+104|0;i=a+16|0;j=23}else{k=a+12|0;f[k>>2]=f[d>>2];if(!(fd(f[d+20>>2]|0,c,3)|0)){f[a>>2]=2;break}l=f[c>>2]|0;m=a+100|0;n=f[m>>2]|0;o=a+104|0;p=f[o>>2]|0;q=xh(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;n=I;p=l&65535;r=zh(l|0,((l|0)<0)<<31>>31|0,4)|0;l=oh(r|0,I|0,p|0,0)|0;r=oh(l|0,I|0,q|0,n|0)|0;n=Nb(r,I,4)|0;r=a+16|0;f[r>>2]=n;if(!n){f[a>>2]=1;f[a+20>>2]=0;break}f[a+20>>2]=n+(q<<2)+(p<<2);p=c+92|0;do if(f[p>>2]|0){q=f[c+12>>2]|0;n=f[c+96>>2]|0;l=f[c+16>>2]|0;s=f[c+100>>2]|0;t=((n|0)<0)<<31>>31;u=zh(n|0,t|0,5)|0;v=oh(u|0,I|0,84,0)|0;w=I;x=zh(n|0,t|0,2)|0;t=oh(v|0,w|0,x|0,I|0)|0;x=Nb(t,I,1)|0;if(x){f[a+264>>2]=x;f[a+268>>2]=x;t=x+84|0;hd(x,q,l,t+u|0,n,s,0,4,t);if(!(f[p>>2]|0)){j=12;break}else{j=13;break}}else{f[a>>2]=1;break a}}else j=12;while(0);if((j|0)==12){p=f[f[k>>2]>>2]|0;if((p+-7|0)>>>0<4)j=13;else y=p}if((j|0)==13){Ub();y=f[f[k>>2]>>2]|0}if(y>>>0>=11?(Tf(),f[(f[k>>2]|0)+28>>2]|0):0)Ub();if(((f[a+56>>2]|0?(f[a+120>>2]|0)>0:0)?(p=a+136|0,(f[p>>2]|0)==0):0)?(rc(p,f[a+132>>2]|0)|0)==0:0){f[a>>2]=1;break}f[e>>2]=0;g=m;h=o;i=r;j=23}while(0);if((j|0)==23?Zb(a,f[i>>2]|0,f[g>>2]|0,f[h>>2]|0,f[c+88>>2]|0,9)|0:0){f[d+16>>2]=f[a+116>>2];b=1;return b|0}Ib(a);b=0;return b|0}function Tf(){var a=0;if(qh(12500)|0)return;a=f[2893]|0;if((f[100]|0)!=(a|0)){f[3064]=15;f[3065]=23;f[3061]=16;f[3062]=17;f[3063]=21;f[3066]=1;f[3067]=22;f[3068]=24}f[100]=a;Ch(12500)|0;return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;c=a+108|0;d=f[c>>2]|0;e=b-d|0;if((e|0)<=0){f[c>>2]=b;return}g=f[a+100>>2]|0;h=(f[a+16>>2]|0)+((X(g,d)|0)<<2)|0;i=f[a+8>>2]|0;j=f[a+20>>2]|0;k=f[i>>2]<<2;l=f[a+176>>2]|0;m=j;if((l|0)<=0){if((m|0)!=(h|0))sh(j|0,h|0,X(e<<2,g)|0)|0}else{g=h;h=l;while(1){l=h+-1|0;$b(a+180+(l*20|0)|0,d,b,g,m);if((h|0)>1){g=m;h=l}else break}}h=f[c>>2]|0;m=f[i+88>>2]|0;g=(m|0)<(b|0)?m:b;m=f[i+84>>2]|0;d=(m|0)>(h|0);l=d?m:h;if((g|0)<=(l|0)){f[c>>2]=b;return}e=j+(X(m-h|0,k)|0)|0;h=f[i+76>>2]|0;n=(d?e:j)+(h<<2)|0;f[i+8>>2]=l-m;m=(f[i+80>>2]|0)-h|0;f[i+12>>2]=m;h=g-l|0;f[i+16>>2]=h;l=a+12|0;g=f[l>>2]|0;j=f[g>>2]|0;e=(f[i+92>>2]|0)!=0;if(j>>>0<11){i=a+116|0;d=f[g+20>>2]|0;o=(f[g+16>>2]|0)+(X(d,f[i>>2]|0)|0)|0;p=(h|0)>0;if(e)if(p){q=a+268|0;r=0;s=0;while(1){t=n+(X(s,k)|0)|0;u=o+(X(r,d)|0)|0;v=h-s|0;w=Qd(f[q>>2]|0,v)|0;Vf(t,k,f[(f[q>>2]|0)+44>>2]|0,w,0);s=(Ed(f[q>>2]|0,v,t,k)|0)+s|0;t=f[q>>2]|0;v=f[t+68>>2]|0;w=f[t+52>>2]|0;x=t+24|0;y=t+56|0;z=t+64|0;a:do if((f[z>>2]|0)<(f[y>>2]|0)){A=0;while(1){if((f[x>>2]|0)>=1){B=A;break a}C=u+(X(A,d)|0)|0;Hd(t);rb[f[2882]&31](v,w,1);Wf(v,w,j,C);C=A+1|0;if((f[z>>2]|0)<(f[y>>2]|0))A=C;else{B=C;break}}}else B=0;while(0);y=B+r|0;if((s|0)>=(h|0)){D=y;break}else r=y}}else D=0;else if(p){p=h;r=n;s=o;while(1){Wf(r,m,j,s);if((p|0)>1){p=p+-1|0;r=r+k|0;s=s+d|0}else{D=h;break}}}else D=h;f[i>>2]=(f[i>>2]|0)+D;f[c>>2]=b;return}D=a+116|0;i=f[D>>2]|0;d=(h|0)>0;b:do if(e)if(d){s=a+268|0;r=0;p=i;j=n;while(1){o=h-r|0;B=Qd(f[s>>2]|0,o)|0;Vf(j,k,f[(f[s>>2]|0)+44>>2]|0,B,0);r=(Ed(f[s>>2]|0,o,j,k)|0)+r|0;j=j+(X(B,k)|0)|0;B=f[s>>2]|0;o=f[B+68>>2]|0;q=f[B+52>>2]|0;y=B+24|0;z=B+56|0;w=B+64|0;c:do if((f[w>>2]|0)<(f[z>>2]|0)){v=o+3|0;t=p;u=0;while(1){if((f[y>>2]|0)>=1){E=u;break c}Hd(B);rb[f[2882]&31](o,q,1);x=f[l>>2]|0;A=(f[x+16>>2]|0)+(X(f[x+32>>2]|0,t)|0)|0;rb[f[3064]&31](o,A,q);A=t>>1;C=(f[x+20>>2]|0)+(X(f[x+36>>2]|0,A)|0)|0;F=(f[x+24>>2]|0)+(X(f[x+40>>2]|0,A)|0)|0;mb[f[3065]&31](o,C,F,q,t&1^1);F=f[x+28>>2]|0;if(F|0){C=F+(X(f[x+44>>2]|0,t)|0)|0;pb[f[2888]&7](v,0,q,1,C,0)|0}C=u+1|0;if((f[w>>2]|0)<(f[z>>2]|0)){t=t+1|0;u=C}else{E=C;break}}}else E=0;while(0);z=E+p|0;if((r|0)>=(h|0)){G=z;break}else p=z}}else G=i;else if(d){p=h;r=n;s=i;j=g;while(1){z=(f[j+16>>2]|0)+(X(f[j+32>>2]|0,s)|0)|0;rb[f[3064]&31](r,z,m);z=s>>1;w=(f[j+20>>2]|0)+(X(f[j+36>>2]|0,z)|0)|0;q=(f[j+24>>2]|0)+(X(f[j+40>>2]|0,z)|0)|0;mb[f[3065]&31](r,w,q,m,s&1^1);q=f[j+28>>2]|0;if(q|0){w=q+(X(f[j+44>>2]|0,s)|0)|0;pb[f[2888]&7](r+3|0,0,m,1,w,0)|0}w=s+1|0;if((p|0)<=1){G=w;break b}p=p+-1|0;r=r+k|0;s=w;j=f[l>>2]|0}}else G=i;while(0);f[D>>2]=G;f[c>>2]=b;return}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;if((d|0)>0){g=0;h=a}else return;while(1){rb[f[2882]&31](h,c,e);g=g+1|0;if((g|0)==(d|0))break;else h=h+b|0}return}function Wf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;do switch(d|0){case 0:{rb[f[2947]&31](a,c,e);return}case 1:{rb[f[2948]&31](a,c,e);return}case 7:{rb[f[2948]&31](a,c,e);mb[f[2884]&31](e,0,c,1,0);return}case 2:{rb[f[2949]&31](a,c,e);return}case 3:{sh(e|0,a|0,c<<2|0)|0;return}case 8:{sh(e|0,a|0,c<<2|0)|0;mb[f[2884]&31](e,0,c,1,0);return}case 4:{g=a+(c<<2)|0;if((c|0)>0){h=e;i=a}else return;while(1){j=Dh(f[i>>2]|0)|0;i=i+4|0;b[h>>0]=j;b[h+1>>0]=j>>8;b[h+2>>0]=j>>16;b[h+3>>0]=j>>24;if(i>>>0>=g>>>0)break;else h=h+4|0}return}case 9:{g=a+(c<<2)|0;if((c|0)>0){j=e;k=a;while(1){l=Dh(f[k>>2]|0)|0;k=k+4|0;b[j>>0]=l;b[j+1>>0]=l>>8;b[j+2>>0]=l>>16;b[j+3>>0]=l>>24;if(k>>>0>=g>>>0)break;else j=j+4|0}}mb[f[2884]&31](e,1,c,1,0);return}case 5:{rb[f[2950]&31](a,c,e);return}case 10:{rb[f[2950]&31](a,c,e);wb[f[2885]&31](e,c,1,0);return}case 6:{rb[f[2951]&31](a,c,e);return}default:return}while(0)}function Xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if((d|0)>0)e=0;else return;do{g=f[a+(e<<2)>>2]|0;b[c+e>>0]=(((g&255)*6420|0)+1081344+((g>>>16&255)*16839|0)+((g>>>8&255)*33059|0)|0)>>>16;e=e+1|0}while((e|0)!=(d|0));return}function Yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=e>>1;if((i|0)>0)if(!g){j=0;do{k=j<<1;l=f[a+(k<<2)>>2]|0;m=f[a+((k|1)<<2)>>2]|0;k=(m>>>15&510)+(l>>>15&510)|0;n=(m>>>7&510)+(l>>>7&510)|0;o=(m<<1&510)+(l<<1&510)|0;l=(X(k,-9719)|0)+33685504+(X(n,-19081)|0)+(o*28800|0)|0;m=l>>18;p=(k*28800|0)+33685504+(X(n,-24116)|0)+(X(o,-4684)|0)|0;o=p>>18;n=c+j|0;b[n>>0]=((m>>>0<256?m:(l>>31&-255)+255|0)+1+(h[n>>0]|0)|0)>>>1;n=d+j|0;b[n>>0]=((o>>>0<256?o:(p>>31&-255)+255|0)+1+(h[n>>0]|0)|0)>>>1;j=j+1|0}while((j|0)!=(i|0));q=i}else{j=0;do{n=j<<1;p=f[a+(n<<2)>>2]|0;o=f[a+((n|1)<<2)>>2]|0;n=(o>>>15&510)+(p>>>15&510)|0;l=(o>>>7&510)+(p>>>7&510)|0;m=(o<<1&510)+(p<<1&510)|0;p=(X(n,-9719)|0)+33685504+(X(l,-19081)|0)+(m*28800|0)|0;o=p>>18;k=(n*28800|0)+33685504+(X(l,-24116)|0)+(X(m,-4684)|0)|0;m=k>>18;b[c+j>>0]=o>>>0<256?o:(p>>>31)+255|0;b[d+j>>0]=m>>>0<256?m:(k>>>31)+255|0;j=j+1|0}while((j|0)!=(i|0));q=i}else q=0;if(!(e&1))return;e=f[a+(q<<1<<2)>>2]|0;a=e>>>14&1020;i=e>>>6&1020;j=e<<2&1020;e=(X(a,-9719)|0)+33685504+(X(i,-19081)|0)+(j*28800|0)|0;k=e>>18;m=k>>>0<256?k:(e>>31&-255)+255|0;e=(a*28800|0)+33685504+(X(i,-24116)|0)+(X(j,-4684)|0)|0;j=e>>18;i=j>>>0<256?j:(e>>31&-255)+255|0;if(!g){g=c+q|0;b[g>>0]=(m+1+(h[g>>0]|0)|0)>>>1;g=d+q|0;r=(i+1+(h[g>>0]|0)|0)>>>1;s=g}else{b[c+q>>0]=m;r=i;s=d+q|0}b[s>>0]=r;return}function Zf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)>0){e=0;f=a}else return;while(1){b[c+e>>0]=(((h[f>>0]|0)*16839|0)+1081344+((h[f+1>>0]|0)*33059|0)+((h[f+2>>0]|0)*6420|0)|0)>>>16;e=e+1|0;if((e|0)==(d|0))break;else f=f+3|0}return}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((d|0)>0){e=0;f=a}else return;while(1){b[c+e>>0]=(((h[f+2>>0]|0)*16839|0)+1081344+((h[f+1>>0]|0)*33059|0)+((h[f>>0]|0)*6420|0)|0)>>>16;e=e+1|0;if((e|0)==(d|0))break;else f=f+3|0}return}function $f(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0;if((e|0)>0){f=0;g=a}else return;while(1){a=j[g>>1]|0;h=j[g+2>>1]|0;i=j[g+4>>1]|0;k=(X(a,-9719)|0)+33685504+(X(h,-19081)|0)+(i*28800|0)|0;l=k>>18;b[c+f>>0]=l>>>0<256?l:(k>>>31)+255|0;k=(a*28800|0)+33685504+(X(h,-24116)|0)+(X(i,-4684)|0)|0;i=k>>18;b[d+f>>0]=i>>>0<256?i:(k>>>31)+255|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+8|0}return}function ag(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;if((e|0)>0){f=0;g=0;h=0}else{i=0;k=0;I=i;return k|0}while(1){l=(j[a+(f<<1)>>1]|0)-(j[b+(f<<1)>>1]|0)|0;m=c+(f<<1)|0;n=(j[m>>1]|0)+l|0;d[m>>1]=(n|0)<0?0:((n|0)<1023?n:1023)&65535;n=(l|0)>-1?l:0-l|0;l=oh(n|0,((n|0)<0)<<31>>31|0,g|0,h|0)|0;n=I;f=f+1|0;if((f|0)==(e|0)){i=n;k=l;break}else{g=l;h=n}}I=i;return k|0}function bg(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0,g=0;if((e|0)>0)f=0;else return;do{g=c+(f<<1)|0;d[g>>1]=(j[a+(f<<1)>>1]|0)-(j[b+(f<<1)>>1]|0)+(j[g>>1]|0);f=f+1|0}while((f|0)!=(e|0));return}function cg(a,b,c,e,f){a=a|0;b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0,i=0,k=0,l=0,m=0,n=0;if((c|0)>0){g=b;h=0;i=a}else return;do{a=d[i>>1]|0;i=i+2|0;b=d[i>>1]|0;k=d[g>>1]|0;g=g+2|0;l=d[g>>1]|0;m=h<<1;n=((a*9|0)+8+l+((k+b|0)*3|0)>>4)+(j[e+(m<<1)>>1]|0)|0;d[f+(m<<1)>>1]=(n|0)<0?0:((n|0)<1023?n:1023)&65535;n=m|1;m=((b*9|0)+8+k+((l+a|0)*3|0)>>4)+(j[e+(n<<1)>>1]|0)|0;d[f+(n<<1)>>1]=(m|0)<0?0:((m|0)<1023?m:1023)&65535;h=h+1|0}while((h|0)!=(c|0));return}function dg(a){a=a|0;var b=0,c=0,d=0;b=a+12|0;c=f[b>>2]|0;if(c>>>0<(f[a+16>>2]|0)>>>0){d=a+8|0;f[d>>2]=(f[d>>2]|0)+8;f[b>>2]=c+1;f[a>>2]=f[a>>2]<<8|(h[c>>0]|0);return}c=a+24|0;if(!(f[c>>2]|0)){f[a>>2]=f[a>>2]<<8;b=a+8|0;f[b>>2]=(f[b>>2]|0)+8;f[c>>2]=1;return}else{f[a+8>>2]=0;return}}function eg(a){a=a|0;d[a>>1]=65535;b[a+2>>0]=255;return}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0;f[a+4>>2]=254;f[a>>2]=0;d=a+8|0;f[d>>2]=-8;e=a+24|0;f[e>>2]=0;g=a+12|0;f[g>>2]=b;i=b+c|0;f[a+16>>2]=i;j=c>>>0>3?i+-4+1|0:b;f[a+20>>2]=j;if(j>>>0>b>>>0){j=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;f[g>>2]=b+3;i=(Dh(j|0)|0)>>>8;f[a>>2]=i;f[d>>2]=16;return}if((c|0)>0){f[d>>2]=0;f[g>>2]=b+1;f[a>>2]=h[b>>0];return}else{f[a>>2]=0;f[d>>2]=0;f[e>>2]=1;return}}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)<=0){c=0;return c|0}d=a+4|0;e=a+8|0;g=a+12|0;i=a+20|0;j=a+16|0;k=a+24|0;l=0;m=b;b=f[e>>2]|0;n=f[d>>2]|0;while(1){o=m;m=m+-1|0;do if((b|0)<0){p=f[g>>2]|0;if(p>>>0<(f[i>>2]|0)>>>0){q=h[p>>0]|h[p+1>>0]<<8|h[p+2>>0]<<16|h[p+3>>0]<<24;f[g>>2]=p+3;r=(Dh(q|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|r;r=b+24|0;f[e>>2]=r;s=r;break}if(p>>>0<(f[j>>2]|0)>>>0){r=b+8|0;f[e>>2]=r;f[g>>2]=p+1;f[a>>2]=f[a>>2]<<8|(h[p>>0]|0);s=r;break}if(!(f[k>>2]|0)){f[a>>2]=f[a>>2]<<8;r=b+8|0;f[e>>2]=r;f[k>>2]=1;s=r;break}else{f[e>>2]=0;s=0;break}}else s=b;while(0);r=n>>>1&16777215;p=f[a>>2]|0;q=p>>>s>>>0>r>>>0;t=r+1|0;if(q){f[a>>2]=p-(t<<s);u=n-r|0}else u=t;t=(_(u|0)|0)^24;b=s-t|0;f[e>>2]=b;n=(u<<t)+-1|0;f[d>>2]=n;t=(q&1)<<m|l;if((o|0)<=1){c=t;break}else l=t}return c|0}function hg(a,b){a=a|0;b=b|0;var c=0;c=gg(a,b)|0;b=(gg(a,1)|0)!=0;return (b?0-c|0:c)|0}function ig(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+12|0;d=gg(c,7)|0;if(!(gg(c,1)|0))e=0;else e=hg(c,4)|0;if(!(gg(c,1)|0))g=0;else g=hg(c,4)|0;if(!(gg(c,1)|0))i=0;else i=hg(c,4)|0;if(!(gg(c,1)|0))k=0;else k=hg(c,4)|0;if(!(gg(c,1)|0))l=0;else l=hg(c,4)|0;c=a+104|0;m=a+776|0;n=a+112|0;o=0;do{if(!(f[c>>2]|0))if((o|0)>0){p=a+776+(o<<5)|0;f[p>>2]=f[m>>2];f[p+4>>2]=f[m+4>>2];f[p+8>>2]=f[m+8>>2];f[p+12>>2]=f[m+12>>2];f[p+16>>2]=f[m+16>>2];f[p+20>>2]=f[m+20>>2];f[p+24>>2]=f[m+24>>2];f[p+28>>2]=f[m+28>>2]}else{q=d;r=16}else{q=((f[n>>2]|0)==0?d:0)+(b[a+116+o>>0]|0)|0;r=16}if((r|0)==16){r=0;p=q+e|0;f[a+776+(o<<5)>>2]=h[8796+((p|0)<0?0:(p|0)<127?p:127)>>0];f[a+776+(o<<5)+4>>2]=j[986+(((q|0)<0?0:(q|0)<127?q:127)<<1)>>1];p=q+g|0;f[a+776+(o<<5)+8>>2]=h[8796+((p|0)<0?0:(p|0)<127?p:127)>>0]<<1;p=q+i|0;s=(j[986+(((p|0)<0?0:(p|0)<127?p:127)<<1)>>1]|0)*101581|0;f[a+776+(o<<5)+12>>2]=s>>>0<524288?8:s>>>16;s=q+k|0;f[a+776+(o<<5)+16>>2]=h[8796+((s|0)<0?0:(s|0)<117?s:117)>>0];s=q+l|0;f[a+776+(o<<5)+20>>2]=j[986+(((s|0)<0?0:(s|0)<127?s:127)<<1)>>1];f[a+776+(o<<5)+24>>2]=s}o=o+1|0}while((o|0)!=4);return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;e=a+8|0;g=a+12|0;i=a+20|0;j=0;do{k=0;do{l=0;do{m=0;do{n=h[6684+(j*264|0)+(k*33|0)+(l*11|0)+m>>0]|0;o=f[d>>2]|0;p=f[e>>2]|0;do if((p|0)<0){q=f[g>>2]|0;if(q>>>0<(f[i>>2]|0)>>>0){r=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[g>>2]=q+3;q=(Dh(r|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|q;q=p+24|0;f[e>>2]=q;s=q;break}else{dg(a);s=f[e>>2]|0;break}}else s=p;while(0);p=(X(o,n)|0)>>>8;q=f[a>>2]|0;r=p+1|0;if(q>>>s>>>0>p>>>0){t=o-p|0;f[a>>2]=q-(r<<s);q=(_(t|0)|0)^24;f[e>>2]=s-q;f[d>>2]=(t<<q)+-1;u=gg(a,8)|0}else{q=(_(r|0)|0)^24;f[e>>2]=s-q;f[d>>2]=(r<<q)+-1;u=h[7740+(j*264|0)+(k*33|0)+(l*11|0)+m>>0]|0}b[c+907+(j*264|0)+(k*33|0)+(l*11|0)+m>>0]=u;m=m+1|0}while((m|0)!=11);l=l+1|0}while((l|0)!=3);k=k+1|0}while((k|0)!=8);k=c+907+(j*264|0)|0;f[c+1964+(j*68|0)>>2]=k;f[c+1964+(j*68|0)+4>>2]=c+907+(j*264|0)+33;f[c+1964+(j*68|0)+8>>2]=c+907+(j*264|0)+66;f[c+1964+(j*68|0)+12>>2]=c+907+(j*264|0)+99;l=c+907+(j*264|0)+198|0;f[c+1964+(j*68|0)+16>>2]=l;f[c+1964+(j*68|0)+20>>2]=c+907+(j*264|0)+132;f[c+1964+(j*68|0)+24>>2]=c+907+(j*264|0)+165;f[c+1964+(j*68|0)+28>>2]=l;f[c+1964+(j*68|0)+32>>2]=l;f[c+1964+(j*68|0)+36>>2]=l;f[c+1964+(j*68|0)+40>>2]=l;f[c+1964+(j*68|0)+44>>2]=l;f[c+1964+(j*68|0)+48>>2]=l;f[c+1964+(j*68|0)+52>>2]=l;f[c+1964+(j*68|0)+56>>2]=l;f[c+1964+(j*68|0)+60>>2]=c+907+(j*264|0)+231;f[c+1964+(j*68|0)+64>>2]=k;j=j+1|0}while((j|0)!=4);j=gg(a,1)|0;f[c+2236>>2]=j;if(!j)return;j=(gg(a,8)|0)&255;b[c+2240>>0]=j;return}function kg(a,b,c,e,g,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;if((g|0)>=16){j=16;return j|0}k=a+4|0;l=a+8|0;m=a+12|0;n=a+20|0;o=(f[b+(g<<2)>>2]|0)+(c*11|0)|0;c=g;g=f[l>>2]|0;p=f[k>>2]|0;a:while(1){q=h[o>>0]|0;do if((g|0)<0){r=f[m>>2]|0;if(r>>>0<(f[n>>2]|0)>>>0){s=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[m>>2]=r+3;r=(Dh(s|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|r;r=g+24|0;f[l>>2]=r;t=r;break}else{dg(a);t=f[l>>2]|0;break}}else t=g;while(0);r=(X(p,q)|0)>>>8;s=f[a>>2]|0;u=r+1|0;if(s>>>t>>>0>r>>>0){v=s-(u<<t)|0;f[a>>2]=v;w=p-u|0;x=1;y=v}else{w=r;x=0;y=s}if(w>>>0<127){s=h[5047+w>>0]|0;r=t-(h[4919+w>>0]|0)|0;f[l>>2]=r;z=s;A=r}else{z=w;A=t}f[k>>2]=z;if(!x){j=c;B=37;break}else{C=o;D=c;E=A;F=y;G=z}while(1){r=h[C+1>>0]|0;do if((E|0)<0){s=f[m>>2]|0;if(s>>>0<(f[n>>2]|0)>>>0){v=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;f[m>>2]=s+3;s=F<<24|(Dh(v|0)|0)>>>8;f[a>>2]=s;v=E+24|0;f[l>>2]=v;H=s;I=v;break}else{dg(a);H=f[a>>2]|0;I=f[l>>2]|0;break}}else{H=F;I=E}while(0);v=(X(G,r)|0)>>>8;s=v+1|0;if(H>>>I>>>0>v>>>0){u=H-(s<<I)|0;f[a>>2]=u;J=G-s|0;K=1;L=u}else{J=v;K=0;L=H}if(J>>>0<127){v=h[5047+J>>0]|0;u=I-(h[4919+J>>0]|0)|0;f[l>>2]=u;M=v;N=u}else{M=J;N=I}f[k>>2]=M;O=D+1|0;P=f[b+(O<<2)>>2]|0;if(K|0)break;if((O|0)==16){j=16;B=37;break a}else{C=P;D=O;E=N;F=L;G=M}}q=h[C+2>>0]|0;do if((N|0)<0){u=f[m>>2]|0;if(u>>>0<(f[n>>2]|0)>>>0){v=h[u>>0]|h[u+1>>0]<<8|h[u+2>>0]<<16|h[u+3>>0]<<24;f[m>>2]=u+3;u=L<<24|(Dh(v|0)|0)>>>8;f[a>>2]=u;v=N+24|0;f[l>>2]=v;Q=u;R=v;break}else{dg(a);Q=f[a>>2]|0;R=f[l>>2]|0;break}}else{Q=L;R=N}while(0);v=(X(q,M)|0)>>>8;u=v+1|0;if(Q>>>R>>>0>v>>>0){f[a>>2]=Q-(u<<R);S=M-u|0;T=1}else{S=v;T=0}if(S>>>0<127){v=h[5047+S>>0]|0;u=R-(h[4919+S>>0]|0)|0;f[l>>2]=u;U=v;V=u}else{U=S;V=R}f[k>>2]=U;if(!T){W=1;Y=1;Z=V}else{u=mg(a,C)|0;W=u;Y=2;Z=f[l>>2]|0}u=P+(Y*11|0)|0;do if((Z|0)<0){v=f[m>>2]|0;if(v>>>0<(f[n>>2]|0)>>>0){s=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24;f[m>>2]=v+3;v=(Dh(s|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|v;v=Z+24|0;f[l>>2]=v;_=v;break}else{dg(a);_=f[l>>2]|0;break}}else _=Z;while(0);q=f[k>>2]|0;v=q>>>1;s=f[a>>2]|0;$=v-(s>>>_)>>31;aa=_+-1|0;f[l>>2]=aa;ba=$+q|1;f[k>>2]=ba;f[a>>2]=s-(($&v+1)<<_);v=(X(($^W)-$|0,f[e+(((D|0)>0&1)<<2)>>2]|0)|0)&65535;d[i+((h[8924+D>>0]|0)<<1)>>1]=v;if((O|0)<16){o=u;c=O;g=aa;p=ba}else{j=16;B=37;break}}if((B|0)==37)return j|0;return 0}function lg(a,b,c,e,g,i){a=a|0;b=b|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;if((g|0)>=16){j=16;return j|0}k=a+4|0;l=a+8|0;m=a+12|0;n=a+20|0;o=(f[b+(g<<2)>>2]|0)+(c*11|0)|0;c=g;g=f[l>>2]|0;p=f[k>>2]|0;a:while(1){q=h[o>>0]|0;do if((g|0)<0){r=f[m>>2]|0;if(r>>>0<(f[n>>2]|0)>>>0){s=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[m>>2]=r+3;r=(Dh(s|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|r;r=g+24|0;f[l>>2]=r;t=r;break}else{dg(a);t=f[l>>2]|0;break}}else t=g;while(0);r=(X(p,q)|0)>>>8;s=f[a>>2]|0;u=r+1|0;if(s>>>t>>>0<=r>>>0){v=29;break}w=p-r|0;r=s-(u<<t)|0;f[a>>2]=r;s=(_(w|0)|0)^24;x=t-s|0;f[l>>2]=x;y=(w<<s)+-1|0;f[k>>2]=y;s=o;w=c;z=x;x=r;r=y;while(1){y=h[s+1>>0]|0;do if((z|0)<0){A=f[m>>2]|0;if(A>>>0<(f[n>>2]|0)>>>0){B=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;f[m>>2]=A+3;A=x<<24|(Dh(B|0)|0)>>>8;f[a>>2]=A;B=z+24|0;f[l>>2]=B;C=A;D=B;break}else{dg(a);C=f[a>>2]|0;D=f[l>>2]|0;break}}else{C=x;D=z}while(0);B=(X(r,y)|0)>>>8;A=C>>>D>>>0>B>>>0;E=B+1|0;if(A){F=C-(E<<D)|0;f[a>>2]=F;G=r-B|0;H=F}else{G=E;H=C}E=(_(G|0)|0)^24;z=D-E|0;f[l>>2]=z;r=(G<<E)+-1|0;f[k>>2]=r;I=w+1|0;J=f[b+(I<<2)>>2]|0;if(A)break;if((I|0)==16){j=16;v=30;break a}else{s=J;w=I;x=H}}x=h[s+2>>0]|0;do if((z|0)<0){q=f[m>>2]|0;if(q>>>0<(f[n>>2]|0)>>>0){A=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[m>>2]=q+3;q=H<<24|(Dh(A|0)|0)>>>8;f[a>>2]=q;A=z+24|0;f[l>>2]=A;K=q;L=A;break}else{dg(a);K=f[a>>2]|0;L=f[l>>2]|0;break}}else{K=H;L=z}while(0);z=(X(x,r)|0)>>>8;A=z+1|0;if(K>>>L>>>0>z>>>0){q=r-z|0;f[a>>2]=K-(A<<L);z=(_(q|0)|0)^24;f[l>>2]=L-z;f[k>>2]=(q<<z)+-1;z=mg(a,s)|0;M=z;N=2;O=f[l>>2]|0}else{z=(_(A|0)|0)^24;q=L-z|0;f[l>>2]=q;f[k>>2]=(A<<z)+-1;M=1;N=1;O=q}o=J+(N*11|0)|0;do if((O|0)<0){q=f[m>>2]|0;if(q>>>0<(f[n>>2]|0)>>>0){z=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24;f[m>>2]=q+3;q=(Dh(z|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|q;q=O+24|0;f[l>>2]=q;P=q;break}else{dg(a);P=f[l>>2]|0;break}}else P=O;while(0);s=f[k>>2]|0;r=s>>>1;x=f[a>>2]|0;q=r-(x>>>P)>>31;g=P+-1|0;f[l>>2]=g;p=q+s|1;f[k>>2]=p;f[a>>2]=x-((q&r+1)<<P);r=(X((q^M)-q|0,f[e+(((w|0)>0&1)<<2)>>2]|0)|0)&65535;d[i+((h[8924+w>>0]|0)<<1)>>1]=r;if((I|0)>=16){j=16;v=30;break}else c=I}if((v|0)==29){I=(_(u|0)|0)^24;f[l>>2]=t-I;f[k>>2]=(u<<I)+-1;j=c;return j|0}else if((v|0)==30)return j|0;return 0}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0;d=h[c+3>>0]|0;e=a+4|0;g=f[e>>2]|0;i=a+8|0;j=f[i>>2]|0;do if((j|0)<0){k=a+12|0;l=f[k>>2]|0;if(l>>>0<(f[a+20>>2]|0)>>>0){m=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[k>>2]=l+3;l=(Dh(m|0)|0)>>>8;f[a>>2]=f[a>>2]<<24|l;l=j+24|0;f[i>>2]=l;n=l;break}else{dg(a);n=f[i>>2]|0;break}}else n=j;while(0);j=(X(g,d)|0)>>>8;d=f[a>>2]|0;l=d>>>n>>>0>j>>>0;m=j+1|0;if(l){k=d-(m<<n)|0;f[a>>2]=k;o=g-j|0;p=k}else{o=m;p=d}d=(_(o|0)|0)^24;m=n-d|0;f[i>>2]=m;n=(o<<d)+-1|0;f[e>>2]=n;if(!l){l=h[c+4>>0]|0;do if((m|0)<0){d=a+12|0;o=f[d>>2]|0;if(o>>>0<(f[a+20>>2]|0)>>>0){k=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;f[d>>2]=o+3;o=p<<24|(Dh(k|0)|0)>>>8;f[a>>2]=o;k=m+24|0;f[i>>2]=k;q=o;r=k;break}else{dg(a);q=f[a>>2]|0;r=f[i>>2]|0;break}}else{q=p;r=m}while(0);k=(X(l,n)|0)>>>8;l=q>>>r>>>0>k>>>0;o=k+1|0;if(l){d=q-(o<<r)|0;f[a>>2]=d;s=n-k|0;t=d}else{s=o;t=q}q=(_(s|0)|0)^24;o=r-q|0;f[i>>2]=o;r=(s<<q)+-1|0;f[e>>2]=r;if(!l){u=2;return u|0}l=h[c+5>>0]|0;do if((o|0)<0){q=a+12|0;s=f[q>>2]|0;if(s>>>0<(f[a+20>>2]|0)>>>0){d=h[s>>0]|h[s+1>>0]<<8|h[s+2>>0]<<16|h[s+3>>0]<<24;f[q>>2]=s+3;s=t<<24|(Dh(d|0)|0)>>>8;f[a>>2]=s;d=o+24|0;f[i>>2]=d;v=s;w=d;break}else{dg(a);v=f[a>>2]|0;w=f[i>>2]|0;break}}else{v=t;w=o}while(0);o=(X(l,r)|0)>>>8;l=v>>>w>>>0>o>>>0;t=o+1|0;if(l){f[a>>2]=v-(t<<w);x=r-o|0}else x=t;t=(_(x|0)|0)^24;f[i>>2]=w-t;f[e>>2]=(x<<t)+-1;u=l?4:3;return u|0}l=h[c+6>>0]|0;do if((m|0)<0){t=a+12|0;x=f[t>>2]|0;if(x>>>0<(f[a+20>>2]|0)>>>0){w=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;f[t>>2]=x+3;x=p<<24|(Dh(w|0)|0)>>>8;f[a>>2]=x;w=m+24|0;f[i>>2]=w;y=x;z=w;break}else{dg(a);y=f[a>>2]|0;z=f[i>>2]|0;break}}else{y=p;z=m}while(0);m=(X(l,n)|0)>>>8;l=y>>>z>>>0>m>>>0;p=m+1|0;if(l){w=y-(p<<z)|0;f[a>>2]=w;A=n-m|0;B=w}else{A=p;B=y}y=(_(A|0)|0)^24;p=z-y|0;f[i>>2]=p;z=(A<<y)+-1|0;f[e>>2]=z;if(l){l=h[c+8>>0]|0;do if((p|0)<0){y=a+12|0;A=f[y>>2]|0;if(A>>>0<(f[a+20>>2]|0)>>>0){w=h[A>>0]|h[A+1>>0]<<8|h[A+2>>0]<<16|h[A+3>>0]<<24;f[y>>2]=A+3;A=B<<24|(Dh(w|0)|0)>>>8;f[a>>2]=A;w=p+24|0;f[i>>2]=w;C=A;D=w;break}else{dg(a);C=f[a>>2]|0;D=f[i>>2]|0;break}}else{C=B;D=p}while(0);w=(X(l,z)|0)>>>8;l=C>>>D>>>0>w>>>0;A=l&1;y=w+1|0;if(l){m=C-(y<<D)|0;f[a>>2]=m;E=z-w|0;F=m}else{E=y;F=C}C=(_(E|0)|0)^24;y=D-C|0;f[i>>2]=y;D=(E<<C)+-1|0;f[e>>2]=D;C=h[c+(l?10:9)>>0]|0;do if((y|0)<0){l=a+12|0;E=f[l>>2]|0;if(E>>>0<(f[a+20>>2]|0)>>>0){m=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;f[l>>2]=E+3;E=F<<24|(Dh(m|0)|0)>>>8;f[a>>2]=E;m=y+24|0;f[i>>2]=m;G=E;H=m;break}else{dg(a);G=f[a>>2]|0;H=f[i>>2]|0;break}}else{G=F;H=y}while(0);y=(X(D,C)|0)>>>8;C=G>>>H>>>0>y>>>0;F=y+1|0;if(C){m=G-(F<<H)|0;f[a>>2]=m;I=D-y|0;J=m}else{I=F;J=G}G=(_(I|0)|0)^24;F=H-G|0;f[i>>2]=F;H=(I<<G)+-1|0;f[e>>2]=H;G=C&1|A<<1;A=f[404+(G<<2)>>2]|0;C=b[A>>0]|0;if(!(C<<24>>24))K=0;else{I=a+12|0;m=a+20|0;y=A;A=0;D=C;C=F;F=J;J=H;while(1){H=D&255;do if((C|0)<0){E=f[I>>2]|0;if(E>>>0<(f[m>>2]|0)>>>0){l=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;f[I>>2]=E+3;E=F<<24|(Dh(l|0)|0)>>>8;f[a>>2]=E;l=C+24|0;f[i>>2]=l;L=E;M=l;break}else{dg(a);L=f[a>>2]|0;M=f[i>>2]|0;break}}else{L=F;M=C}while(0);l=(X(J,H)|0)>>>8;E=L>>>M>>>0>l>>>0;w=l+1|0;if(E){n=L-(w<<M)|0;f[a>>2]=n;N=J-l|0;O=n}else{N=w;O=L}w=(_(N|0)|0)^24;C=M-w|0;f[i>>2]=C;J=(N<<w)+-1|0;f[e>>2]=J;w=E&1|A<<1;y=y+1|0;D=b[y>>0]|0;if(!(D<<24>>24)){K=w;break}else{A=w;F=O}}}u=K+(8<<G|3)|0;return u|0}G=h[c+7>>0]|0;do if((p|0)<0){c=a+12|0;K=f[c>>2]|0;if(K>>>0<(f[a+20>>2]|0)>>>0){O=h[K>>0]|h[K+1>>0]<<8|h[K+2>>0]<<16|h[K+3>>0]<<24;f[c>>2]=K+3;K=B<<24|(Dh(O|0)|0)>>>8;f[a>>2]=K;O=p+24|0;f[i>>2]=O;P=K;Q=O;break}else{dg(a);P=f[a>>2]|0;Q=f[i>>2]|0;break}}else{P=B;Q=p}while(0);p=(X(G,z)|0)>>>8;G=P>>>Q>>>0>p>>>0;B=p+1|0;if(G){O=P-(B<<Q)|0;f[a>>2]=O;R=z-p|0;S=O}else{R=B;S=P}P=(_(R|0)|0)^24;B=Q-P|0;f[i>>2]=B;Q=(R<<P)+-1|0;f[e>>2]=Q;P=(B|0)<0;if(!G){do if(P){G=a+12|0;R=f[G>>2]|0;if(R>>>0<(f[a+20>>2]|0)>>>0){O=h[R>>0]|h[R+1>>0]<<8|h[R+2>>0]<<16|h[R+3>>0]<<24;f[G>>2]=R+3;R=S<<24|(Dh(O|0)|0)>>>8;f[a>>2]=R;O=B+24|0;f[i>>2]=O;T=R;U=O;break}else{dg(a);T=f[a>>2]|0;U=f[i>>2]|0;break}}else{T=S;U=B}while(0);O=(Q*159|0)>>>8;R=T>>>U>>>0>O>>>0;G=O+1|0;if(R){f[a>>2]=T-(G<<U);V=Q-O|0}else V=G;G=(_(V|0)|0)^24;f[i>>2]=U-G;f[e>>2]=(V<<G)+-1;u=R?6:5;return u|0}do if(P){R=a+12|0;G=f[R>>2]|0;if(G>>>0<(f[a+20>>2]|0)>>>0){V=h[G>>0]|h[G+1>>0]<<8|h[G+2>>0]<<16|h[G+3>>0]<<24;f[R>>2]=G+3;G=S<<24|(Dh(V|0)|0)>>>8;f[a>>2]=G;V=B+24|0;f[i>>2]=V;W=G;Y=V;break}else{dg(a);W=f[a>>2]|0;Y=f[i>>2]|0;break}}else{W=S;Y=B}while(0);B=(Q*165|0)>>>8;S=W>>>Y>>>0>B>>>0;P=B+1|0;if(S){V=W-(P<<Y)|0;f[a>>2]=V;Z=Q-B|0;$=V}else{Z=P;$=W}W=(_(Z|0)|0)^24;P=Y-W|0;f[i>>2]=P;Y=(Z<<W)+-1|0;f[e>>2]=Y;W=((S&1)<<1)+7|0;do if((P|0)<0){S=a+12|0;Z=f[S>>2]|0;if(Z>>>0<(f[a+20>>2]|0)>>>0){V=h[Z>>0]|h[Z+1>>0]<<8|h[Z+2>>0]<<16|h[Z+3>>0]<<24;f[S>>2]=Z+3;Z=$<<24|(Dh(V|0)|0)>>>8;f[a>>2]=Z;V=P+24|0;f[i>>2]=V;aa=Z;ba=V;break}else{dg(a);aa=f[a>>2]|0;ba=f[i>>2]|0;break}}else{aa=$;ba=P}while(0);P=(Y*145|0)>>>8;$=aa>>>ba>>>0>P>>>0;V=P+1|0;if($){f[a>>2]=aa-(V<<ba);ca=Y-P|0}else ca=V;V=(_(ca|0)|0)^24;f[i>>2]=ba-V;f[e>>2]=(ca<<V)+-1;u=W+($&1)|0;return u|0}function ng(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a){d=0;return d|0}if(!c){if(f[a>>2]|0){d=0;return d|0}f[a>>2]=2;f[a+8>>2]=8967;f[a+4>>2]=0;d=0;return d|0}e=a+4|0;if((f[e>>2]|0)==0?(Of(a,c)|0)==0:0){d=0;return d|0}g=(Ee(a,c)|0)==0;h=g&1;if(g){a:do if(!(He(a,c)|0))i=0;else{g=a+2300|0;f[g>>2]=0;j=a+308|0;b:do if((f[j>>2]|0)>0){k=a+312|0;l=a+12|0;m=a+2296|0;n=a+288|0;o=a+2256|0;p=a+2248|0;q=0;c:while(1){r=a+316+((f[k>>2]&q)*28|0)|0;if(!(Pf(l,a)|0)){s=13;break}if((f[m>>2]|0)<(f[n>>2]|0))do{if(!(Qf(a,r)|0)){s=16;break c}t=(f[m>>2]|0)+1|0;f[m>>2]=t}while((t|0)<(f[n>>2]|0));r=f[o>>2]|0;b[r+-2>>0]=0;b[r+-1>>0]=0;f[p>>2]=0;f[m>>2]=0;if(!(se(a,c)|0)){s=20;break}q=(f[g>>2]|0)+1|0;f[g>>2]=q;if((q|0)>=(f[j>>2]|0))break b}if((s|0)==13){if(f[a>>2]|0){i=0;break a}f[a>>2]=7;f[a+8>>2]=9004;f[e>>2]=0;i=0;break a}else if((s|0)==16){if(f[a>>2]|0){i=0;break a}f[a>>2]=7;f[a+8>>2]=9045;f[e>>2]=0;i=0;break a}else if((s|0)==20){if(f[a>>2]|0){i=0;break a}f[a>>2]=6;f[a+8>>2]=9080;f[e>>2]=0;i=0;break a}}while(0);if((f[a+148>>2]|0)>0?(j=(ve()|0)+8|0,(qb[f[j>>2]&7](a+124|0)|0)==0):0){i=0;break}i=1}while(0);u=(Fe(a,c)|0)&i}else u=h;if(!u){h=(ve()|0)+20|0;nb[f[h>>2]&31](a+124|0);Fb(a);h=a+2288|0;Gb(f[h>>2]|0);f[h>>2]=0;f[a+2292>>2]=0;h=a+12|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;f[e>>2]=0;d=0;return d|0}else{f[e>>2]=0;d=u;return d|0}return 0}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=u;u=u+160|0;e=d+148|0;g=d+144|0;h=d+36|0;i=d;f[i>>2]=a;j=i+4|0;f[j>>2]=b;f[i+8>>2]=1;f[g>>2]=0;k=Hf(a,b,0,0,0,g,0,i)|0;f[e>>2]=k;k=(f[g>>2]|0)!=0;if(!(f[e>>2]|0)){if(k)l=4}else if(k&(f[e>>2]|0)==7)l=4;if((l|0)==4)f[e>>2]=4;l=f[e>>2]|0;if(l|0){m=l;u=d;return m|0}Pb(h,520)|0;l=f[i+12>>2]|0;f[h+64>>2]=(f[i>>2]|0)+l;f[h+60>>2]=(f[j>>2]|0)-l;Qb(c,h);if(!(f[i+32>>2]|0)){l=Mf()|0;if(!l){m=1;u=d;return m|0}f[l+2348>>2]=f[i+16>>2];f[l+2352>>2]=f[i+20>>2];if(Of(l,h)|0){j=h+4|0;e=c+20|0;k=je(f[h>>2]|0,f[j>>2]|0,f[e>>2]|0,f[c>>2]|0)|0;if(!k){g=Ge(f[e>>2]|0,i,f[h>>2]|0,f[j>>2]|0)|0;f[l+148>>2]=g;qe(f[e>>2]|0,l);if(!(ng(l,h)|0))n=f[l>>2]|0;else n=0}else n=k}else n=f[l>>2]|0;Lf(l);o=n}else{n=Nf()|0;if(!n){m=1;u=d;return m|0}if(Rf(n,h)|0){l=je(f[h>>2]|0,f[h+4>>2]|0,f[c+20>>2]|0,f[c>>2]|0)|0;if(!l)if(!(Sf(n)|0))p=f[n>>2]|0;else p=0;else p=l}else p=f[n>>2]|0;Hb(n);o=p}if(o|0){me(f[c>>2]|0);m=o;u=d;return m|0}o=f[c+20>>2]|0;if(!o){m=0;u=d;return m|0}if(!(f[o+48>>2]|0)){m=0;u=d;return m|0}m=ie(f[c>>2]|0)|0;u=d;return m|0}function pg(a,b){a=a|0;b=b|0;var c=0;if((a|0)==0|(b&-256|0)!=512){c=0;return c|0}ph(a|0,0,200)|0;le(a+40|0,520)|0;c=1;return c|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=u;u=u+144|0;e=d+88|0;g=d;if(!c){h=2;u=d;return h|0}a:do if(!a)i=2;else{j=c;k=j+40|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));l=c+4|0;m=Hf(a,b,c,l,c+8|0,c+12|0,c+16|0,0)|0;switch(m|0){case 0:break;case 7:{h=3;u=d;return h|0}default:{i=m;break a}}j=e+4|0;k=j+52|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[e+20>>2]=c+124;j=c+40|0;f[e>>2]=j;if(!(pe(j,c)|0)){h=og(a,b,e)|0;u=d;return h|0}le(g,520)|0;f[g>>2]=f[j>>2];f[g+4>>2]=f[c>>2];f[g+8>>2]=f[l>>2];f[e>>2]=g;k=og(a,b,e)|0;if(!k)n=ne(g,j)|0;else n=k;me(g);h=n;u=d;return h|0}while(0);h=i;u=d;return h|0}function rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;b=u;u=u+16|0;c=b;do if(a>>>0<245){d=a>>>0<11?16:a+11&-8;e=d>>>3;g=f[3133]|0;h=g>>>e;if(h&3|0){i=(h&1^1)+e|0;j=12572+(i<<1<<2)|0;k=j+8|0;l=f[k>>2]|0;m=l+8|0;n=f[m>>2]|0;if((j|0)==(n|0))f[3133]=g&~(1<<i);else{f[n+12>>2]=j;f[k>>2]=n}n=i<<3;f[l+4>>2]=n|3;i=l+n+4|0;f[i>>2]=f[i>>2]|1;o=m;u=b;return o|0}m=f[3135]|0;if(d>>>0>m>>>0){if(h|0){i=2<<e;n=h<<e&(i|0-i);i=(n&0-n)+-1|0;n=i>>>12&16;e=i>>>n;i=e>>>5&8;h=e>>>i;e=h>>>2&4;l=h>>>e;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|e|h|l)+(k>>>l)|0;l=12572+(j<<1<<2)|0;k=l+8|0;h=f[k>>2]|0;e=h+8|0;n=f[e>>2]|0;if((l|0)==(n|0)){i=g&~(1<<j);f[3133]=i;p=i}else{f[n+12>>2]=l;f[k>>2]=n;p=g}n=(j<<3)-d|0;f[h+4>>2]=d|3;j=h+d|0;f[j+4>>2]=n|1;f[j+n>>2]=n;if(m|0){h=f[3138]|0;k=m>>>3;l=12572+(k<<1<<2)|0;i=1<<k;if(!(p&i)){f[3133]=p|i;q=l;r=l+8|0}else{i=l+8|0;q=f[i>>2]|0;r=i}f[r>>2]=h;f[q+12>>2]=h;f[h+8>>2]=q;f[h+12>>2]=l}f[3135]=n;f[3138]=j;o=e;u=b;return o|0}e=f[3134]|0;if(e){j=(e&0-e)+-1|0;n=j>>>12&16;l=j>>>n;j=l>>>5&8;h=l>>>j;l=h>>>2&4;i=h>>>l;h=i>>>1&2;k=i>>>h;i=k>>>1&1;s=f[12836+((j|n|l|h|i)+(k>>>i)<<2)>>2]|0;i=(f[s+4>>2]&-8)-d|0;k=f[s+16+(((f[s+16>>2]|0)==0&1)<<2)>>2]|0;if(!k){t=s;v=i}else{h=s;s=i;i=k;while(1){k=(f[i+4>>2]&-8)-d|0;l=k>>>0<s>>>0;n=l?k:s;k=l?i:h;i=f[i+16+(((f[i+16>>2]|0)==0&1)<<2)>>2]|0;if(!i){t=k;v=n;break}else{h=k;s=n}}}s=t+d|0;if(t>>>0<s>>>0){h=f[t+24>>2]|0;i=f[t+12>>2]|0;do if((i|0)==(t|0)){n=t+20|0;k=f[n>>2]|0;if(!k){l=t+16|0;j=f[l>>2]|0;if(!j){w=0;break}else{x=j;y=l}}else{x=k;y=n}while(1){n=x+20|0;k=f[n>>2]|0;if(k|0){x=k;y=n;continue}n=x+16|0;k=f[n>>2]|0;if(!k)break;else{x=k;y=n}}f[y>>2]=0;w=x}else{n=f[t+8>>2]|0;f[n+12>>2]=i;f[i+8>>2]=n;w=i}while(0);do if(h|0){i=f[t+28>>2]|0;n=12836+(i<<2)|0;if((t|0)==(f[n>>2]|0)){f[n>>2]=w;if(!w){f[3134]=e&~(1<<i);break}}else{f[h+16+(((f[h+16>>2]|0)!=(t|0)&1)<<2)>>2]=w;if(!w)break}f[w+24>>2]=h;i=f[t+16>>2]|0;if(i|0){f[w+16>>2]=i;f[i+24>>2]=w}i=f[t+20>>2]|0;if(i|0){f[w+20>>2]=i;f[i+24>>2]=w}}while(0);if(v>>>0<16){h=v+d|0;f[t+4>>2]=h|3;e=t+h+4|0;f[e>>2]=f[e>>2]|1}else{f[t+4>>2]=d|3;f[s+4>>2]=v|1;f[s+v>>2]=v;if(m|0){e=f[3138]|0;h=m>>>3;i=12572+(h<<1<<2)|0;n=1<<h;if(!(g&n)){f[3133]=g|n;z=i;A=i+8|0}else{n=i+8|0;z=f[n>>2]|0;A=n}f[A>>2]=e;f[z+12>>2]=e;f[e+8>>2]=z;f[e+12>>2]=i}f[3135]=v;f[3138]=s}o=t+8|0;u=b;return o|0}else B=d}else B=d}else B=d}else if(a>>>0<=4294967231){i=a+11|0;e=i&-8;n=f[3134]|0;if(n){h=0-e|0;k=i>>>8;if(k)if(e>>>0>16777215)C=31;else{i=(k+1048320|0)>>>16&8;l=k<<i;k=(l+520192|0)>>>16&4;j=l<<k;l=(j+245760|0)>>>16&2;D=14-(k|i|l)+(j<<l>>>15)|0;C=e>>>(D+7|0)&1|D<<1}else C=0;D=f[12836+(C<<2)>>2]|0;a:do if(!D){E=0;F=0;G=h;H=57}else{l=0;j=h;i=D;k=e<<((C|0)==31?0:25-(C>>>1)|0);I=0;while(1){J=(f[i+4>>2]&-8)-e|0;if(J>>>0<j>>>0)if(!J){K=i;L=0;M=i;H=61;break a}else{N=i;O=J}else{N=l;O=j}J=f[i+20>>2]|0;i=f[i+16+(k>>>31<<2)>>2]|0;P=(J|0)==0|(J|0)==(i|0)?I:J;J=(i|0)==0;if(J){E=P;F=N;G=O;H=57;break}else{l=N;j=O;k=k<<((J^1)&1);I=P}}}while(0);if((H|0)==57){if((E|0)==0&(F|0)==0){D=2<<C;h=n&(D|0-D);if(!h){B=e;break}D=(h&0-h)+-1|0;h=D>>>12&16;d=D>>>h;D=d>>>5&8;s=d>>>D;d=s>>>2&4;g=s>>>d;s=g>>>1&2;m=g>>>s;g=m>>>1&1;Q=0;R=f[12836+((D|h|d|s|g)+(m>>>g)<<2)>>2]|0}else{Q=F;R=E}if(!R){S=Q;T=G}else{K=Q;L=G;M=R;H=61}}if((H|0)==61)while(1){H=0;g=(f[M+4>>2]&-8)-e|0;m=g>>>0<L>>>0;s=m?g:L;g=m?M:K;M=f[M+16+(((f[M+16>>2]|0)==0&1)<<2)>>2]|0;if(!M){S=g;T=s;break}else{K=g;L=s;H=61}}if((S|0)!=0?T>>>0<((f[3135]|0)-e|0)>>>0:0){s=S+e|0;if(S>>>0>=s>>>0){o=0;u=b;return o|0}g=f[S+24>>2]|0;m=f[S+12>>2]|0;do if((m|0)==(S|0)){d=S+20|0;h=f[d>>2]|0;if(!h){D=S+16|0;I=f[D>>2]|0;if(!I){U=0;break}else{V=I;W=D}}else{V=h;W=d}while(1){d=V+20|0;h=f[d>>2]|0;if(h|0){V=h;W=d;continue}d=V+16|0;h=f[d>>2]|0;if(!h)break;else{V=h;W=d}}f[W>>2]=0;U=V}else{d=f[S+8>>2]|0;f[d+12>>2]=m;f[m+8>>2]=d;U=m}while(0);do if(g){m=f[S+28>>2]|0;d=12836+(m<<2)|0;if((S|0)==(f[d>>2]|0)){f[d>>2]=U;if(!U){d=n&~(1<<m);f[3134]=d;X=d;break}}else{f[g+16+(((f[g+16>>2]|0)!=(S|0)&1)<<2)>>2]=U;if(!U){X=n;break}}f[U+24>>2]=g;d=f[S+16>>2]|0;if(d|0){f[U+16>>2]=d;f[d+24>>2]=U}d=f[S+20>>2]|0;if(d){f[U+20>>2]=d;f[d+24>>2]=U;X=n}else X=n}else X=n;while(0);do if(T>>>0>=16){f[S+4>>2]=e|3;f[s+4>>2]=T|1;f[s+T>>2]=T;n=T>>>3;if(T>>>0<256){g=12572+(n<<1<<2)|0;d=f[3133]|0;m=1<<n;if(!(d&m)){f[3133]=d|m;Y=g;Z=g+8|0}else{m=g+8|0;Y=f[m>>2]|0;Z=m}f[Z>>2]=s;f[Y+12>>2]=s;f[s+8>>2]=Y;f[s+12>>2]=g;break}g=T>>>8;if(g)if(T>>>0>16777215)_=31;else{m=(g+1048320|0)>>>16&8;d=g<<m;g=(d+520192|0)>>>16&4;n=d<<g;d=(n+245760|0)>>>16&2;h=14-(g|m|d)+(n<<d>>>15)|0;_=T>>>(h+7|0)&1|h<<1}else _=0;h=12836+(_<<2)|0;f[s+28>>2]=_;d=s+16|0;f[d+4>>2]=0;f[d>>2]=0;d=1<<_;if(!(X&d)){f[3134]=X|d;f[h>>2]=s;f[s+24>>2]=h;f[s+12>>2]=s;f[s+8>>2]=s;break}d=T<<((_|0)==31?0:25-(_>>>1)|0);n=f[h>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(T|0)){H=97;break}$=n+16+(d>>>31<<2)|0;h=f[$>>2]|0;if(!h){H=96;break}else{d=d<<1;n=h}}if((H|0)==96){f[$>>2]=s;f[s+24>>2]=n;f[s+12>>2]=s;f[s+8>>2]=s;break}else if((H|0)==97){d=n+8|0;h=f[d>>2]|0;f[h+12>>2]=s;f[d>>2]=s;f[s+8>>2]=h;f[s+12>>2]=n;f[s+24>>2]=0;break}}else{h=T+e|0;f[S+4>>2]=h|3;d=S+h+4|0;f[d>>2]=f[d>>2]|1}while(0);o=S+8|0;u=b;return o|0}else B=e}else B=e}else B=-1;while(0);S=f[3135]|0;if(S>>>0>=B>>>0){T=S-B|0;$=f[3138]|0;if(T>>>0>15){_=$+B|0;f[3138]=_;f[3135]=T;f[_+4>>2]=T|1;f[_+T>>2]=T;f[$+4>>2]=B|3}else{f[3135]=0;f[3138]=0;f[$+4>>2]=S|3;T=$+S+4|0;f[T>>2]=f[T>>2]|1}o=$+8|0;u=b;return o|0}$=f[3136]|0;if($>>>0>B>>>0){T=$-B|0;f[3136]=T;S=f[3139]|0;_=S+B|0;f[3139]=_;f[_+4>>2]=T|1;f[S+4>>2]=B|3;o=S+8|0;u=b;return o|0}if(!(f[3251]|0)){f[3253]=4096;f[3252]=4096;f[3254]=-1;f[3255]=-1;f[3256]=0;f[3244]=0;S=c&-16^1431655768;f[c>>2]=S;f[3251]=S;aa=4096}else aa=f[3253]|0;S=B+48|0;c=B+47|0;T=aa+c|0;_=0-aa|0;aa=T&_;if(aa>>>0<=B>>>0){o=0;u=b;return o|0}X=f[3243]|0;if(X|0?(Y=f[3241]|0,Z=Y+aa|0,Z>>>0<=Y>>>0|Z>>>0>X>>>0):0){o=0;u=b;return o|0}b:do if(!(f[3244]&4)){X=f[3139]|0;c:do if(X){Z=12980;while(1){Y=f[Z>>2]|0;if(Y>>>0<=X>>>0?(ba=Z+4|0,(Y+(f[ba>>2]|0)|0)>>>0>X>>>0):0)break;Y=f[Z+8>>2]|0;if(!Y){H=118;break c}else Z=Y}n=T-$&_;if(n>>>0<2147483647){Y=yh(n|0)|0;if((Y|0)==((f[Z>>2]|0)+(f[ba>>2]|0)|0))if((Y|0)==(-1|0))ca=n;else{da=n;ea=Y;H=135;break b}else{fa=Y;ga=n;H=126}}else ca=0}else H=118;while(0);do if((H|0)==118){X=yh(0)|0;if((X|0)!=(-1|0)?(e=X,n=f[3252]|0,Y=n+-1|0,U=((Y&e|0)==0?0:(Y+e&0-n)-e|0)+aa|0,e=f[3241]|0,n=U+e|0,U>>>0>B>>>0&U>>>0<2147483647):0){Y=f[3243]|0;if(Y|0?n>>>0<=e>>>0|n>>>0>Y>>>0:0){ca=0;break}Y=yh(U|0)|0;if((Y|0)==(X|0)){da=U;ea=X;H=135;break b}else{fa=Y;ga=U;H=126}}else ca=0}while(0);do if((H|0)==126){U=0-ga|0;if(!(S>>>0>ga>>>0&(ga>>>0<2147483647&(fa|0)!=(-1|0))))if((fa|0)==(-1|0)){ca=0;break}else{da=ga;ea=fa;H=135;break b}Y=f[3253]|0;X=c-ga+Y&0-Y;if(X>>>0>=2147483647){da=ga;ea=fa;H=135;break b}if((yh(X|0)|0)==(-1|0)){yh(U|0)|0;ca=0;break}else{da=X+ga|0;ea=fa;H=135;break b}}while(0);f[3244]=f[3244]|4;ha=ca;H=133}else{ha=0;H=133}while(0);if(((H|0)==133?aa>>>0<2147483647:0)?(ca=yh(aa|0)|0,aa=yh(0)|0,fa=aa-ca|0,ga=fa>>>0>(B+40|0)>>>0,!((ca|0)==(-1|0)|ga^1|ca>>>0<aa>>>0&((ca|0)!=(-1|0)&(aa|0)!=(-1|0))^1)):0){da=ga?fa:ha;ea=ca;H=135}if((H|0)==135){ca=(f[3241]|0)+da|0;f[3241]=ca;if(ca>>>0>(f[3242]|0)>>>0)f[3242]=ca;ca=f[3139]|0;do if(ca){ha=12980;while(1){ia=f[ha>>2]|0;ja=ha+4|0;ka=f[ja>>2]|0;if((ea|0)==(ia+ka|0)){H=145;break}fa=f[ha+8>>2]|0;if(!fa)break;else ha=fa}if(((H|0)==145?(f[ha+12>>2]&8|0)==0:0)?ca>>>0<ea>>>0&ca>>>0>=ia>>>0:0){f[ja>>2]=ka+da;fa=ca+8|0;ga=(fa&7|0)==0?0:0-fa&7;fa=ca+ga|0;aa=(f[3136]|0)+(da-ga)|0;f[3139]=fa;f[3136]=aa;f[fa+4>>2]=aa|1;f[fa+aa+4>>2]=40;f[3140]=f[3255];break}if(ea>>>0<(f[3137]|0)>>>0)f[3137]=ea;aa=ea+da|0;fa=12980;while(1){if((f[fa>>2]|0)==(aa|0)){H=153;break}ga=f[fa+8>>2]|0;if(!ga)break;else fa=ga}if((H|0)==153?(f[fa+12>>2]&8|0)==0:0){f[fa>>2]=ea;ha=fa+4|0;f[ha>>2]=(f[ha>>2]|0)+da;ha=ea+8|0;ga=ea+((ha&7|0)==0?0:0-ha&7)|0;ha=aa+8|0;c=aa+((ha&7|0)==0?0:0-ha&7)|0;ha=ga+B|0;S=c-ga-B|0;f[ga+4>>2]=B|3;do if((c|0)!=(ca|0)){if((c|0)==(f[3138]|0)){ba=(f[3135]|0)+S|0;f[3135]=ba;f[3138]=ha;f[ha+4>>2]=ba|1;f[ha+ba>>2]=ba;break}ba=f[c+4>>2]|0;if((ba&3|0)==1){_=ba&-8;$=ba>>>3;d:do if(ba>>>0<256){T=f[c+8>>2]|0;X=f[c+12>>2]|0;if((X|0)==(T|0)){f[3133]=f[3133]&~(1<<$);break}else{f[T+12>>2]=X;f[X+8>>2]=T;break}}else{T=f[c+24>>2]|0;X=f[c+12>>2]|0;do if((X|0)==(c|0)){U=c+16|0;Y=U+4|0;n=f[Y>>2]|0;if(!n){e=f[U>>2]|0;if(!e){la=0;break}else{ma=e;na=U}}else{ma=n;na=Y}while(1){Y=ma+20|0;n=f[Y>>2]|0;if(n|0){ma=n;na=Y;continue}Y=ma+16|0;n=f[Y>>2]|0;if(!n)break;else{ma=n;na=Y}}f[na>>2]=0;la=ma}else{Y=f[c+8>>2]|0;f[Y+12>>2]=X;f[X+8>>2]=Y;la=X}while(0);if(!T)break;X=f[c+28>>2]|0;Y=12836+(X<<2)|0;do if((c|0)!=(f[Y>>2]|0)){f[T+16+(((f[T+16>>2]|0)!=(c|0)&1)<<2)>>2]=la;if(!la)break d}else{f[Y>>2]=la;if(la|0)break;f[3134]=f[3134]&~(1<<X);break d}while(0);f[la+24>>2]=T;X=c+16|0;Y=f[X>>2]|0;if(Y|0){f[la+16>>2]=Y;f[Y+24>>2]=la}Y=f[X+4>>2]|0;if(!Y)break;f[la+20>>2]=Y;f[Y+24>>2]=la}while(0);oa=c+_|0;pa=_+S|0}else{oa=c;pa=S}$=oa+4|0;f[$>>2]=f[$>>2]&-2;f[ha+4>>2]=pa|1;f[ha+pa>>2]=pa;$=pa>>>3;if(pa>>>0<256){ba=12572+($<<1<<2)|0;Z=f[3133]|0;Y=1<<$;if(!(Z&Y)){f[3133]=Z|Y;qa=ba;ra=ba+8|0}else{Y=ba+8|0;qa=f[Y>>2]|0;ra=Y}f[ra>>2]=ha;f[qa+12>>2]=ha;f[ha+8>>2]=qa;f[ha+12>>2]=ba;break}ba=pa>>>8;do if(!ba)sa=0;else{if(pa>>>0>16777215){sa=31;break}Y=(ba+1048320|0)>>>16&8;Z=ba<<Y;$=(Z+520192|0)>>>16&4;X=Z<<$;Z=(X+245760|0)>>>16&2;n=14-($|Y|Z)+(X<<Z>>>15)|0;sa=pa>>>(n+7|0)&1|n<<1}while(0);ba=12836+(sa<<2)|0;f[ha+28>>2]=sa;_=ha+16|0;f[_+4>>2]=0;f[_>>2]=0;_=f[3134]|0;n=1<<sa;if(!(_&n)){f[3134]=_|n;f[ba>>2]=ha;f[ha+24>>2]=ba;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}n=pa<<((sa|0)==31?0:25-(sa>>>1)|0);_=f[ba>>2]|0;while(1){if((f[_+4>>2]&-8|0)==(pa|0)){H=194;break}ta=_+16+(n>>>31<<2)|0;ba=f[ta>>2]|0;if(!ba){H=193;break}else{n=n<<1;_=ba}}if((H|0)==193){f[ta>>2]=ha;f[ha+24>>2]=_;f[ha+12>>2]=ha;f[ha+8>>2]=ha;break}else if((H|0)==194){n=_+8|0;ba=f[n>>2]|0;f[ba+12>>2]=ha;f[n>>2]=ha;f[ha+8>>2]=ba;f[ha+12>>2]=_;f[ha+24>>2]=0;break}}else{ba=(f[3136]|0)+S|0;f[3136]=ba;f[3139]=ha;f[ha+4>>2]=ba|1}while(0);o=ga+8|0;u=b;return o|0}ha=12980;while(1){S=f[ha>>2]|0;if(S>>>0<=ca>>>0?(ua=S+(f[ha+4>>2]|0)|0,ua>>>0>ca>>>0):0)break;ha=f[ha+8>>2]|0}ha=ua+-47|0;ga=ha+8|0;S=ha+((ga&7|0)==0?0:0-ga&7)|0;ga=ca+16|0;ha=S>>>0<ga>>>0?ca:S;S=ha+8|0;c=ea+8|0;aa=(c&7|0)==0?0:0-c&7;c=ea+aa|0;fa=da+-40-aa|0;f[3139]=c;f[3136]=fa;f[c+4>>2]=fa|1;f[c+fa+4>>2]=40;f[3140]=f[3255];fa=ha+4|0;f[fa>>2]=27;f[S>>2]=f[3245];f[S+4>>2]=f[3246];f[S+8>>2]=f[3247];f[S+12>>2]=f[3248];f[3245]=ea;f[3246]=da;f[3248]=0;f[3247]=S;S=ha+24|0;do{c=S;S=S+4|0;f[S>>2]=7}while((c+8|0)>>>0<ua>>>0);if((ha|0)!=(ca|0)){S=ha-ca|0;f[fa>>2]=f[fa>>2]&-2;f[ca+4>>2]=S|1;f[ha>>2]=S;c=S>>>3;if(S>>>0<256){aa=12572+(c<<1<<2)|0;ba=f[3133]|0;n=1<<c;if(!(ba&n)){f[3133]=ba|n;va=aa;wa=aa+8|0}else{n=aa+8|0;va=f[n>>2]|0;wa=n}f[wa>>2]=ca;f[va+12>>2]=ca;f[ca+8>>2]=va;f[ca+12>>2]=aa;break}aa=S>>>8;if(aa)if(S>>>0>16777215)xa=31;else{n=(aa+1048320|0)>>>16&8;ba=aa<<n;aa=(ba+520192|0)>>>16&4;c=ba<<aa;ba=(c+245760|0)>>>16&2;Z=14-(aa|n|ba)+(c<<ba>>>15)|0;xa=S>>>(Z+7|0)&1|Z<<1}else xa=0;Z=12836+(xa<<2)|0;f[ca+28>>2]=xa;f[ca+20>>2]=0;f[ga>>2]=0;ba=f[3134]|0;c=1<<xa;if(!(ba&c)){f[3134]=ba|c;f[Z>>2]=ca;f[ca+24>>2]=Z;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}c=S<<((xa|0)==31?0:25-(xa>>>1)|0);ba=f[Z>>2]|0;while(1){if((f[ba+4>>2]&-8|0)==(S|0)){H=216;break}ya=ba+16+(c>>>31<<2)|0;Z=f[ya>>2]|0;if(!Z){H=215;break}else{c=c<<1;ba=Z}}if((H|0)==215){f[ya>>2]=ca;f[ca+24>>2]=ba;f[ca+12>>2]=ca;f[ca+8>>2]=ca;break}else if((H|0)==216){c=ba+8|0;S=f[c>>2]|0;f[S+12>>2]=ca;f[c>>2]=ca;f[ca+8>>2]=S;f[ca+12>>2]=ba;f[ca+24>>2]=0;break}}}else{S=f[3137]|0;if((S|0)==0|ea>>>0<S>>>0)f[3137]=ea;f[3245]=ea;f[3246]=da;f[3248]=0;f[3142]=f[3251];f[3141]=-1;S=0;do{c=12572+(S<<1<<2)|0;f[c+12>>2]=c;f[c+8>>2]=c;S=S+1|0}while((S|0)!=32);S=ea+8|0;ba=(S&7|0)==0?0:0-S&7;S=ea+ba|0;c=da+-40-ba|0;f[3139]=S;f[3136]=c;f[S+4>>2]=c|1;f[S+c+4>>2]=40;f[3140]=f[3255]}while(0);da=f[3136]|0;if(da>>>0>B>>>0){ea=da-B|0;f[3136]=ea;da=f[3139]|0;ca=da+B|0;f[3139]=ca;f[ca+4>>2]=ea|1;f[da+4>>2]=B|3;o=da+8|0;u=b;return o|0}}da=yg()|0;f[da>>2]=12;o=0;u=b;return o|0}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!a)return;b=a+-8|0;c=f[3137]|0;d=f[a+-4>>2]|0;a=d&-8;e=b+a|0;do if(!(d&1)){g=f[b>>2]|0;if(!(d&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0<c>>>0)return;if((h|0)==(f[3138]|0)){j=e+4|0;k=f[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}f[3135]=i;f[j>>2]=k&-2;f[h+4>>2]=i|1;f[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=f[h+8>>2]|0;j=f[h+12>>2]|0;if((j|0)==(g|0)){f[3133]=f[3133]&~(1<<k);l=h;m=i;n=h;break}else{f[g+12>>2]=j;f[j+8>>2]=g;l=h;m=i;n=h;break}}g=f[h+24>>2]|0;j=f[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=f[o>>2]|0;if(!p){q=f[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}while(1){o=s+20|0;p=f[o>>2]|0;if(p|0){s=p;t=o;continue}o=s+16|0;p=f[o>>2]|0;if(!p)break;else{s=p;t=o}}f[t>>2]=0;r=s}else{o=f[h+8>>2]|0;f[o+12>>2]=j;f[j+8>>2]=o;r=j}while(0);if(g){j=f[h+28>>2]|0;o=12836+(j<<2)|0;if((h|0)==(f[o>>2]|0)){f[o>>2]=r;if(!r){f[3134]=f[3134]&~(1<<j);l=h;m=i;n=h;break}}else{f[g+16+(((f[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=r;if(!r){l=h;m=i;n=h;break}}f[r+24>>2]=g;j=h+16|0;o=f[j>>2]|0;if(o|0){f[r+16>>2]=o;f[o+24>>2]=r}o=f[j+4>>2]|0;if(o){f[r+20>>2]=o;f[o+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=e>>>0)return;b=e+4|0;a=f[b>>2]|0;if(!(a&1))return;if(!(a&2)){r=f[3138]|0;if((e|0)==(f[3139]|0)){s=(f[3136]|0)+m|0;f[3136]=s;f[3139]=l;f[l+4>>2]=s|1;if((l|0)!=(r|0))return;f[3138]=0;f[3135]=0;return}if((e|0)==(r|0)){r=(f[3135]|0)+m|0;f[3135]=r;f[3138]=n;f[l+4>>2]=r|1;f[n+r>>2]=r;return}r=(a&-8)+m|0;s=a>>>3;do if(a>>>0<256){t=f[e+8>>2]|0;c=f[e+12>>2]|0;if((c|0)==(t|0)){f[3133]=f[3133]&~(1<<s);break}else{f[t+12>>2]=c;f[c+8>>2]=t;break}}else{t=f[e+24>>2]|0;c=f[e+12>>2]|0;do if((c|0)==(e|0)){d=e+16|0;o=d+4|0;j=f[o>>2]|0;if(!j){p=f[d>>2]|0;if(!p){u=0;break}else{v=p;w=d}}else{v=j;w=o}while(1){o=v+20|0;j=f[o>>2]|0;if(j|0){v=j;w=o;continue}o=v+16|0;j=f[o>>2]|0;if(!j)break;else{v=j;w=o}}f[w>>2]=0;u=v}else{o=f[e+8>>2]|0;f[o+12>>2]=c;f[c+8>>2]=o;u=c}while(0);if(t|0){c=f[e+28>>2]|0;h=12836+(c<<2)|0;if((e|0)==(f[h>>2]|0)){f[h>>2]=u;if(!u){f[3134]=f[3134]&~(1<<c);break}}else{f[t+16+(((f[t+16>>2]|0)!=(e|0)&1)<<2)>>2]=u;if(!u)break}f[u+24>>2]=t;c=e+16|0;h=f[c>>2]|0;if(h|0){f[u+16>>2]=h;f[h+24>>2]=u}h=f[c+4>>2]|0;if(h|0){f[u+20>>2]=h;f[h+24>>2]=u}}}while(0);f[l+4>>2]=r|1;f[n+r>>2]=r;if((l|0)==(f[3138]|0)){f[3135]=r;return}else x=r}else{f[b>>2]=a&-2;f[l+4>>2]=m|1;f[n+m>>2]=m;x=m}m=x>>>3;if(x>>>0<256){n=12572+(m<<1<<2)|0;a=f[3133]|0;b=1<<m;if(!(a&b)){f[3133]=a|b;y=n;z=n+8|0}else{b=n+8|0;y=f[b>>2]|0;z=b}f[z>>2]=l;f[y+12>>2]=l;f[l+8>>2]=y;f[l+12>>2]=n;return}n=x>>>8;if(n)if(x>>>0>16777215)A=31;else{y=(n+1048320|0)>>>16&8;z=n<<y;n=(z+520192|0)>>>16&4;b=z<<n;z=(b+245760|0)>>>16&2;a=14-(n|y|z)+(b<<z>>>15)|0;A=x>>>(a+7|0)&1|a<<1}else A=0;a=12836+(A<<2)|0;f[l+28>>2]=A;f[l+20>>2]=0;f[l+16>>2]=0;z=f[3134]|0;b=1<<A;do if(z&b){y=x<<((A|0)==31?0:25-(A>>>1)|0);n=f[a>>2]|0;while(1){if((f[n+4>>2]&-8|0)==(x|0)){B=73;break}C=n+16+(y>>>31<<2)|0;m=f[C>>2]|0;if(!m){B=72;break}else{y=y<<1;n=m}}if((B|0)==72){f[C>>2]=l;f[l+24>>2]=n;f[l+12>>2]=l;f[l+8>>2]=l;break}else if((B|0)==73){y=n+8|0;t=f[y>>2]|0;f[t+12>>2]=l;f[y>>2]=l;f[l+8>>2]=t;f[l+12>>2]=n;f[l+24>>2]=0;break}}else{f[3134]=z|b;f[a>>2]=l;f[l+24>>2]=a;f[l+12>>2]=l;f[l+8>>2]=l}while(0);l=(f[3141]|0)+-1|0;f[3141]=l;if(!l)D=12988;else return;while(1){l=f[D>>2]|0;if(!l)break;else D=l+8|0}f[3141]=-1;return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0;if(a){c=X(b,a)|0;if((b|a)>>>0>65535)d=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1;else d=c}else d=0;c=rg(d)|0;if(!c)return c|0;if(!(f[c+-4>>2]&3))return c|0;ph(c|0,0,d|0)|0;return c|0}function ug(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;c=b;d=Bg(f[a+60>>2]|0)|0;f[c>>2]=d;d=xg(_a(6,c|0)|0)|0;u=b;return d|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;d=u;u=u+48|0;e=d+16|0;g=d;h=d+32|0;i=a+28|0;j=f[i>>2]|0;f[h>>2]=j;k=a+20|0;l=(f[k>>2]|0)-j|0;f[h+4>>2]=l;f[h+8>>2]=b;f[h+12>>2]=c;b=l+c|0;l=a+60|0;f[g>>2]=f[l>>2];f[g+4>>2]=h;f[g+8>>2]=2;j=xg(hb(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=f[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=(q<<31>>31)+g|0;t=o-(q?p:0)|0;f[r>>2]=(f[r>>2]|0)+t;p=r+4|0;f[p>>2]=(f[p>>2]|0)-t;f[e>>2]=f[l>>2];f[e+4>>2]=r;f[e+8>>2]=s;o=xg(hb(146,e|0)|0)|0;if((m|0)==(o|0)){v=3;break a}else{g=s;n=r}}f[a+16>>2]=0;f[i>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((g|0)==2)w=0;else w=c-(f[n+4>>2]|0)|0}else v=3;while(0);if((v|0)==3){v=f[a+44>>2]|0;f[a+16>>2]=v+(f[a+48>>2]|0);f[i>>2]=v;f[k>>2]=v;w=c}u=d;return w|0}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=u;u=u+32|0;e=d;g=d+20|0;f[e>>2]=f[a+60>>2];f[e+4>>2]=0;f[e+8>>2]=b;f[e+12>>2]=g;f[e+16>>2]=c;if((xg(Sa(140,e|0)|0)|0)<0){f[g>>2]=-1;h=-1}else h=f[g>>2]|0;u=d;return h|0}function xg(a){a=a|0;var b=0,c=0;if(a>>>0>4294963200){b=yg()|0;f[b>>2]=0-a;c=-1}else c=a;return c|0}function yg(){return (zg()|0)+64|0}function zg(){return Ag()|0}function Ag(){return 548}function Bg(a){a=a|0;return a|0}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+32|0;g=e;f[a+36>>2]=1;if((f[a>>2]&64|0)==0?(f[g>>2]=f[a+60>>2],f[g+4>>2]=21523,f[g+8>>2]=e+16,Qa(54,g|0)|0):0)b[a+75>>0]=-1;g=vg(a,c,d)|0;u=e;return g|0}function Dg(){return 13028}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=a;g=d;h=c;while(1){i=b[f>>0]|0;j=b[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=c&255;g=(d|0)!=0;a:do if(g&(a&3|0)!=0){h=c&255;i=a;j=d;while(1){if((b[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=a;r=d;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else{t=q;u=0}b:do if((m|0)==6){q=c&255;if((b[k>>0]|0)==q<<24>>24){t=k;u=l}else{r=X(e,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){d=f[s>>2]^r;if((d&-2139062144^-2139062144)&d+-16843009|0)break;d=s+4|0;a=g+-4|0;if(a>>>0>3){s=d;g=a}else{v=d;w=a;m=11;break c}}x=s;y=g}else{v=k;w=l;m=11}while(0);if((m|0)==11)if(!w){t=v;u=0;break}else{x=v;y=w}while(1){if((b[x>>0]|0)==q<<24>>24){t=x;u=y;break b}r=x+1|0;y=y+-1|0;if(!y){t=r;u=0;break}else x=r}}}while(0);return (u|0?t:0)|0}function Gg(a,b){a=a|0;b=b|0;var c=0;if(!b)c=0;else c=Hg(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (c|0?c:a)|0}function Hg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=(f[a>>2]|0)+1794895138|0;g=Ig(f[a+8>>2]|0,e)|0;h=Ig(f[a+12>>2]|0,e)|0;i=Ig(f[a+16>>2]|0,e)|0;a:do if((g>>>0<c>>>2>>>0?(j=c-(g<<2)|0,h>>>0<j>>>0&i>>>0<j>>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=Ig(f[a+(q<<2)>>2]|0,e)|0;s=Ig(f[a+(q+1<<2)>>2]|0,e)|0;if(!(s>>>0<c>>>0&r>>>0<(c-s|0)>>>0)){t=0;break a}if(b[a+(s+r)>>0]|0){t=0;break a}r=Jg(d,a+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}else{l=s?l:o;m=s?n:m-n|0}}m=p+k|0;l=Ig(f[a+(m<<2)>>2]|0,e)|0;j=Ig(f[a+(m+1<<2)>>2]|0,e)|0;if(j>>>0<c>>>0&l>>>0<(c-j|0)>>>0)t=(b[a+(j+l)>>0]|0)==0?a+j|0:0;else t=0}else t=0;while(0);return t|0}function Ig(a,b){a=a|0;b=b|0;var c=0;c=Dh(a|0)|0;return ((b|0)==0?a:c)|0}function Jg(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0;d=b[a>>0]|0;e=b[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=a;do{c=c+1|0;d=d+1|0;a=b[c>>0]|0;e=b[d>>0]|0}while(!(a<<24>>24==0?1:a<<24>>24!=e<<24>>24));f=e;g=a}return (g&255)-(f&255)|0}function Kg(a){a=a|0;var b=0;b=(Lg()|0)+188|0;return Mg(a,f[b>>2]|0)|0}function Lg(){return Ag()|0}function Mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;d=0;while(1){if((h[9096+d>>0]|0)==(a|0)){e=2;break}g=d+1|0;if((g|0)==87){i=9184;j=87;e=5;break}else d=g}if((e|0)==2)if(!d)k=9184;else{i=9184;j=d;e=5}if((e|0)==5)while(1){e=0;d=i;do{a=d;d=d+1|0}while((b[a>>0]|0)!=0);j=j+-1|0;if(!j){k=d;break}else{i=d;e=5}}return Ng(k,f[c+20>>2]|0)|0}function Ng(a,b){a=a|0;b=b|0;return Gg(a,b)|0}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=u;u=u+224|0;g=e+120|0;h=e+80|0;i=e;j=e+136|0;k=h;l=k+40|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));f[g>>2]=f[d>>2];if((Pg(0,c,g,i,h)|0)<0)m=-1;else{if((f[a+76>>2]|0)>-1)n=Qg(a)|0;else n=0;d=f[a>>2]|0;k=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;d=a+48|0;if(!(f[d>>2]|0)){l=a+44|0;o=f[l>>2]|0;f[l>>2]=j;p=a+28|0;f[p>>2]=j;q=a+20|0;f[q>>2]=j;f[d>>2]=80;r=a+16|0;f[r>>2]=j+80;j=Pg(a,c,g,i,h)|0;if(!o)s=j;else{lb[f[a+36>>2]&15](a,0,0)|0;t=(f[q>>2]|0)==0?-1:j;f[l>>2]=o;f[d>>2]=0;f[r>>2]=0;f[p>>2]=0;f[q>>2]=0;s=t}}else s=Pg(a,c,g,i,h)|0;h=f[a>>2]|0;f[a>>2]=h|k;if(n|0)Rg(a);m=(h&32|0)==0?s:-1}u=e;return m|0}
  function xb(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function yb(){return u|0}function zb(a){a=a|0;u=a}function Ab(a,b){a=a|0;b=b|0;u=a;v=b}function Bb(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Cb(a){a=a|0;I=a}function Db(){return I|0}function Eb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=u;u=u+224|0;d=c+16|0;e=c+8|0;g=c;h=c+24|0;i=h+40|0;if(!(pg(h,520)|0)){kh(1242,26,1,f[105]|0)|0;j=0;u=c;return j|0}if(!(f[2881]|0)){Fa(32)|0;f[2881]=1}do if(!(Gf(a,b,h,520)|0)){k=h+4|0;l=ta(f[h>>2]|0,f[k>>2]|0,32,0)|0;m=f[k>>2]|0;n=f[h>>2]|0;if(!l){o=f[105]|0;f[g>>2]=n;f[g+4>>2]=m;lh(o,1269,g)|0;p=0;q=0;r=0;break}o=Wa(0,n|0,m|0,32,255,65280,16711680,-16777216)|0;if(!o){m=f[105]|0;n=f[k>>2]|0;f[e>>2]=f[h>>2];f[e+4>>2]=n;lh(m,1310,e)|0;p=0;q=l;r=0;break}Ba(o|0)|0;f[i>>2]=1;f[h+44>>2]=f[o+8>>2];m=f[o+12>>2]|0;f[h+48>>2]=m;f[h+56>>2]=f[o+20>>2];n=f[o+16>>2]|0;f[h+60>>2]=n;k=X(m,n)|0;f[h+64>>2]=k;f[h+52>>2]=1;k=qg(a,b,h)|0;if(k|0){n=f[105]|0;f[d>>2]=k;lh(n,1348,d)|0;p=o;q=l;r=0;break}Za(o|0);if(!(Pa(o|0,0,l|0,0)|0)){p=o;q=l;r=(cb(l|0)|0)==0&1}else{p=o;q=l;r=0}}else{p=0;q=0;r=0}while(0);Ga(p|0);Ga(q|0);me(i);j=r;u=c;return j|0}function Fb(a){a=a|0;var b=0,c=0;b=a+2360|0;Gb(f[b>>2]|0);f[b>>2]=0;f[a+2364>>2]=0;b=a+2344|0;a=f[b>>2]|0;if(!a){f[b>>2]=0;return}c=a+20|0;Hb(f[c>>2]|0);f[c>>2]=0;Gb(a);f[b>>2]=0;return}function Gb(a){a=a|0;sg(a);return}function Hb(a){a=a|0;if(!a)return;Ib(a);Gb(a);return}function Ib(a){a=a|0;var b=0,c=0,d=0;if(!a)return;Gb(f[a+160>>2]|0);Gb(f[a+172>>2]|0);Jb(f[a+168>>2]|0);Kb(a+124|0);Kb(a+136|0);b=a+120|0;c=b+56|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=a+16|0;Gb(f[b>>2]|0);f[b>>2]=0;b=a+176|0;if((f[b>>2]|0)>0){c=0;do{d=a+180+(c*20|0)+16|0;Gb(f[d>>2]|0);f[d>>2]=0;c=c+1|0}while((c|0)<(f[b>>2]|0))}f[b>>2]=0;f[a+260>>2]=0;b=a+264|0;Gb(f[b>>2]|0);f[b>>2]=0;f[a+12>>2]=0;return}function Jb(a){a=a|0;if(!a)return;Gb(a);return}function Kb(a){a=a|0;if(!a)return;Gb(f[a>>2]|0);f[a>>2]=0;return}function Lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;g=f[c>>2]|0;i=c+88|0;j=f[i>>2]|0;if((d|0)<0|(e|0)<1|(e+d|0)>(j|0)){k=0;return k|0}l=a+2356|0;a:do if(!(f[l>>2]|0)){m=a+2344|0;n=f[m>>2]|0;do if(!n){o=Mb(1,0,144)|0;f[m>>2]=o;if(!o){k=0;return k|0}o=f[c>>2]|0;p=f[i>>2]|0;q=xh(p|0,((p|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;o=Nb(q,I,1)|0;f[a+2360>>2]=o;if(((o|0?(f[a+2364>>2]=o,f[a+2368>>2]=0,q=f[m>>2]|0,p=f[a+2348>>2]|0,r=f[a+2352>>2]|0,s=p+1|0,t=r+-1|0,u=q+24|0,Ob(),f[q+136>>2]=o,f[q>>2]=f[c>>2],o=c+4|0,v=q+4|0,f[v>>2]=f[o>>2],r>>>0>=2):0)?(r=b[p>>0]&3,w=q+8|0,f[w>>2]=r&255,f[q+12>>2]=(h[p>>0]|0)>>>2&3,x=(h[p>>0]|0)>>>4&3,f[q+16>>2]=x,(r&255)<=1):0)?!(x>>>0>1|(h[p>>0]|0)>63):0){Pb(u,520)|0;Qb(0,u);f[q+64>>2]=q;f[u>>2]=f[c>>2];f[q+28>>2]=f[o>>2];f[q+96>>2]=f[c+72>>2];f[q+100>>2]=f[c+76>>2];f[q+104>>2]=f[c+80>>2];f[q+108>>2]=f[c+84>>2];f[q+112>>2]=f[i>>2];if(!(f[w>>2]|0))y=t>>>0>=(X(f[v>>2]|0,f[q>>2]|0)|0)>>>0&1;else y=Rb(q,s,t)|0;if(y|0){t=f[m>>2]|0;if((f[t+16>>2]|0)==1){z=j-d|0;A=t;B=16;break}else{f[a+2372>>2]=0;z=e;A=t;B=16;break}}}}else{z=e;A=n;B=16}while(0);do if((B|0)==16){n=f[A>>2]|0;t=f[A+112>>2]|0;if(f[A+8>>2]|0){s=z+d|0;if(!(Sb(A,s)|0))break;else C=s}else{s=a+2368|0;q=f[s>>2]|0;v=X(n,d)|0;w=(f[a+2348>>2]|0)+1+v|0;o=f[a+2364>>2]|0;u=o+v|0;v=A+12|0;p=f[v>>2]|0;x=(z|0)>0;if(!p)if(x){r=d+-1+z|0;D=w;E=0;F=u;while(1){sh(F|0,D|0,n|0)|0;E=E+1|0;if((E|0)==(z|0))break;else{D=D+n|0;F=F+n|0}}G=o+(X(n,r)|0)|0}else G=q;else if(x){F=X(n,d+-1+z|0)|0;wb[f[11764+(p<<2)>>2]&31](q,w,u,n);if((z|0)!=1){D=w;E=u;H=1;do{D=D+n|0;J=E;E=E+n|0;wb[f[11764+(f[v>>2]<<2)>>2]&31](J,D,E,n);H=H+1|0}while((H|0)!=(z|0))}G=o+F|0}else G=q;f[s>>2]=G;C=z+d|0}if((C|0)<(t|0)){if(!(f[l>>2]|0))break a}else f[l>>2]=1;H=f[m>>2]|0;if(H|0){n=H+20|0;Hb(f[n>>2]|0);f[n>>2]=0;Gb(H)}f[m>>2]=0;H=f[a+2372>>2]|0;if((H|0)<=0)break a;n=f[c+84>>2]|0;E=(f[a+2364>>2]|0)+(X(n,g)|0)|0;D=f[c+76>>2]|0;if(Tb(E+D|0,(f[c+80>>2]|0)-D|0,(f[i>>2]|0)-n|0,g,H)|0)break a}while(0);H=a+2360|0;Gb(f[H>>2]|0);f[H>>2]=0;f[a+2364>>2]=0;H=f[m>>2]|0;if(H|0){n=H+20|0;Hb(f[n>>2]|0);f[n>>2]=0;Gb(H)}f[m>>2]=0;k=0;return k|0}while(0);k=(f[a+2364>>2]|0)+(X(g,d)|0)|0;return k|0}function Mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=xh(c|0,0,a|0,b|0)|0;if(!((a|0)==0&(b|0)==0)?(e=(d|0)==(d|0)&(I|0)==0,d=vh(2147418112,0,a|0,b|0)|0,b=I,!(e&(0<b>>>0|0==(b|0)&c>>>0<=d>>>0))):0){f=0;return f|0}f=tg(a,c)|0;return f|0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=xh(c|0,0,a|0,b|0)|0;if(!((a|0)==0&(b|0)==0)?(e=(d|0)==(d|0)&(I|0)==0,f=vh(2147418112,0,a|0,b|0)|0,b=I,!(e&(0<b>>>0|0==(b|0)&c>>>0<=f>>>0))):0){g=0;return g|0}g=rg(d)|0;return g|0}function Ob(){var a=0;if(qh(12444)|0)return;a=f[2893]|0;if((f[37]|0)!=(a|0)){f[2941]=0;f[2942]=1;f[2943]=2;f[2944]=3;f[2937]=0;f[2938]=1;f[2939]=2;f[2940]=3}f[37]=a;Ch(12444)|0;return}function Pb(a,b){a=a|0;b=b|0;var c=0;if((b&-256|0)!=512){c=0;return c|0}if(!a){c=1;return c|0}b=a;a=b+108|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c=1;return c|0}function Qb(a,b){a=a|0;b=b|0;f[b+44>>2]=4;f[b+48>>2]=5;f[b+52>>2]=5;f[b+40>>2]=a;return}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Mb(1,0,272)|0;if(!e){g=0;return g|0}f[e>>2]=0;f[e+4>>2]=2;mc();h=f[a>>2]|0;i=e+100|0;f[i>>2]=h;j=a+4|0;k=f[j>>2]|0;l=e+104|0;f[l>>2]=k;m=a+24|0;f[e+8>>2]=m;f[a+64>>2]=a;f[m>>2]=h;f[a+28>>2]=k;f[e>>2]=0;nc(e+24|0,c,d);a:do if(oc(f[a>>2]|0,f[j>>2]|0,1,e,0)|0){b:do if(((f[e+176>>2]|0)==1?(f[e+180>>2]|0)==3:0)?(f[e+120>>2]|0)<=0:0){d=f[e+164>>2]|0;if((d|0)>0){c=f[e+168>>2]|0;k=0;do{if(b[f[c+(k*548|0)+4>>2]>>0]|0){n=14;break b}if(b[f[c+(k*548|0)+8>>2]>>0]|0){n=14;break b}if(b[f[c+(k*548|0)+12>>2]>>0]|0){n=14;break b}k=k+1|0}while((k|0)<(d|0))}f[a+132>>2]=1;d=f[i>>2]|0;k=f[l>>2]|0;c=xh(k|0,((k|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;f[e+20>>2]=0;d=Nb(c,I,1)|0;f[e+16>>2]=d;if(!d){f[e>>2]=1;break a}}else n=14;while(0);do if((n|0)==14){f[a+132>>2]=0;d=f[a>>2]|0;c=f[i>>2]|0;k=f[l>>2]|0;h=xh(k|0,((k|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;c=I;k=d&65535;m=zh(d|0,((d|0)<0)<<31>>31|0,4)|0;d=oh(m|0,I|0,k|0,0)|0;m=oh(d|0,I|0,h|0,c|0)|0;c=Nb(m,I,4)|0;f[e+16>>2]=c;if(!c){f[e>>2]=1;f[e+20>>2]=0;break a}else{f[e+20>>2]=c+(h<<2)+(k<<2);break}}while(0);f[a+20>>2]=e;g=1;return g|0}while(0);Ib(e);Gb(e);g=0;return g|0}function Sb(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;e=f[a+20>>2]|0;if((f[e+108>>2]|0)>=(c|0)){g=1;return g|0}i=a+132|0;a=f[i>>2]|0;if(!a){Ub();k=f[i>>2]|0}else k=a;a=f[e+16>>2]|0;i=f[e+104>>2]|0;l=f[e+100>>2]|0;if(!k){g=Zb(e,a,l,i,c,1)|0;return g|0}k=e+112|0;m=f[k>>2]|0;n=(m|0)/(l|0)|0;o=(m|0)%(l|0)|0;p=e+24|0;q=X(l,i)|0;i=X(l,c)|0;r=f[e+148>>2]|0;a:do if((m|0)<(i|0)){s=e+152|0;t=f[s>>2]|0;if(!t)u=0;else{v=(f[e+160>>2]|0)+((X(f[e+156>>2]|0,n>>t)|0)+(o>>t)<<2)|0;u=f[v>>2]|0}v=e+48|0;if(!(f[v>>2]|0)){t=e+168|0;w=e+160|0;x=e+156|0;y=e+44|0;z=e+40|0;A=e+36|0;B=n;C=o;D=m;E=(f[t>>2]|0)+(u*548|0)|0;while(1){if(!(C&r)){F=f[s>>2]|0;if(!F)G=0;else{H=(f[w>>2]|0)+((X(f[x>>2]|0,B>>F)|0)+(C>>F)<<2)|0;G=f[H>>2]|0}I=(f[t>>2]|0)+(G*548|0)|0}else I=E;H=f[y>>2]|0;if((H|0)>31){Vb(p);J=f[y>>2]|0}else J=H;H=f[I>>2]|0;F=p;K=f[F>>2]|0;L=f[F+4>>2]|0;F=rh(K|0,L|0,J&63|0)|0;M=F&255;F=H+(M<<2)|0;N=b[F>>0]|0;if((N&255)>8){O=J+8|0;f[y>>2]=O;P=rh(K|0,L|0,O&63|0)|0;Q=F+((j[H+(M<<2)+2>>1]|0)<<2)+(((1<<(N&255)+-8)+-1&P)<<2)|0;R=Q;S=O;T=b[Q>>0]|0}else{R=F;S=J;T=N}N=(T&255)+S|0;f[y>>2]=N;F=d[R+2>>1]|0;Q=F&65535;do if((F&65535)<256){b[a+D>>0]=F;O=D+1|0;P=C+1|0;if((P|0)>=(l|0)){M=B+1|0;if((B|0)<(c|0)&(M&15|0)==0){Wb(e,M);U=O;V=M;W=0;Y=I}else{U=O;V=M;W=0;Y=I}}else{U=O;V=B;W=P;Y=I}}else{if((F&65535)>=280){Z=D;_=0;$=v;break a}P=Q+-256|0;O=Q+-258>>1;if((P|0)<4){aa=P;ba=N;ca=K;da=L}else{M=(Xb(p,O)|0)+((P&1|2)<<O)|0;O=p;aa=M;ba=f[y>>2]|0;ca=f[O>>2]|0;da=f[O+4>>2]|0}O=aa+1|0;M=f[I+16>>2]|0;P=rh(ca|0,da|0,ba&63|0)|0;H=P&255;P=M+(H<<2)|0;ea=b[P>>0]|0;if((ea&255)>8){fa=ba+8|0;f[y>>2]=fa;ga=rh(ca|0,da|0,fa&63|0)|0;ha=P+((j[M+(H<<2)+2>>1]|0)<<2)+(((1<<(ea&255)+-8)+-1&ga)<<2)|0;ia=ha;ja=b[ha>>0]|0;ka=fa}else{ia=P;ja=ea;ka=ba}ea=(ja&255)+ka|0;f[y>>2]=ea;P=d[ia+2>>1]|0;fa=P&65535;if((ea|0)>31)Vb(p);ea=fa+-2>>1;if((P&65535)<4)la=fa;else la=(Xb(p,ea)|0)+((fa&1|2)<<ea)|0;if((la+1|0)>120)ma=la+-119|0;else{ea=h[5175+la>>0]|0;fa=(X(ea>>>4,l)|0)+(8-(ea&15))|0;ma=(fa|0)>1?fa:1}if((q-D|0)<(O|0)|(D|0)<(ma|0)){Z=D;_=0;$=v;break a}fa=a+D|0;ea=fa+(0-ma)|0;b:do if((O|0)>7){switch(ma|0){case 1:{P=b[ea>>0]|0;na=X(P&255,16843009)|0;oa=P;break}case 2:{P=h[ea>>0]|h[ea+1>>0]<<8;na=(P&65535)*65537|0;oa=P&255;break}case 4:{P=h[ea>>0]|h[ea+1>>0]<<8|h[ea+2>>0]<<16|h[ea+3>>0]<<24;na=P;oa=P&255;break}default:{pa=50;break b}}do if(!(fa&3)){qa=na;ra=O;sa=fa;ta=ea}else{P=ea+1|0;ha=fa+1|0;b[fa>>0]=oa;ga=na<<24|na>>>8;if(!(ha&3)){qa=ga;ra=aa;sa=ha;ta=P;break}else{ua=P;va=ha;wa=ga;xa=aa}while(1){ga=ua+1|0;ha=va+1|0;b[va>>0]=b[ua>>0]|0;P=wa<<24|wa>>>8;H=xa+-1|0;if(!(ha&3)){qa=P;ra=H;sa=ha;ta=ga;break}else{ua=ga;va=ha;wa=P;xa=H}}}while(0);H=ra>>2;if((H|0)>0){P=0;do{f[sa+(P<<2)>>2]=qa;P=P+1|0}while((P|0)!=(H|0));ya=H<<2}else ya=0;if((ya|0)<(ra|0))za=ya;else break;do{b[sa+za>>0]=b[ta+za>>0]|0;za=za+1|0}while((za|0)!=(ra|0))}else pa=50;while(0);do if((pa|0)==50){pa=0;if((ma|0)>=(O|0)){sh(fa|0,ea|0,O|0)|0;break}if((O|0)>0)Aa=0;else break;do{b[fa+Aa>>0]=b[ea+Aa>>0]|0;Aa=Aa+1|0}while((Aa|0)!=(O|0))}while(0);ea=O+D|0;fa=O+C|0;if((fa|0)<(l|0)){Ba=B;Ca=fa}else{H=B;P=fa;while(1){fa=P-l|0;ha=H+1|0;if((H|0)<(c|0)&(ha&15|0)==0)Wb(e,ha);if((fa|0)<(l|0)){Ba=ha;Ca=fa;break}else{H=ha;P=fa}}}if((ea|0)>=(i|0)|(Ca&r|0)==0){U=ea;V=Ba;W=Ca;Y=I;break}P=f[s>>2]|0;if(!P)Da=0;else{H=(f[w>>2]|0)+((X(f[x>>2]|0,Ba>>P)|0)+(Ca>>P)<<2)|0;Da=f[H>>2]|0}U=ea;V=Ba;W=Ca;Y=(f[t>>2]|0)+(Da*548|0)|0}while(0);if(f[v>>2]|0)break;if((f[z>>2]|0)==(f[A>>2]|0))Ea=(f[y>>2]|0)>64;else Ea=0;f[v>>2]=Ea&1;if((U|0)<(i|0)&(Ea^1)){B=V;C=W;D=U;E=Y}else{Fa=V;Ga=U;Ha=v;pa=67;break a}}f[v>>2]=1;Fa=V;Ga=U;Ha=v;pa=67}else{Fa=n;Ga=m;Ha=v;pa=67}}else{Fa=n;Ga=m;Ha=e+48|0;pa=67}while(0);if((pa|0)==67){Wb(e,(Fa|0)>(c|0)?c:Fa);Z=Ga;_=1;$=Ha}if(!(f[$>>2]|0))if((f[e+40>>2]|0)==(f[e+36>>2]|0))Ia=(f[e+44>>2]|0)>64;else Ia=0;else Ia=1;f[$>>2]=Ia&1;if((_|0)==0|(q|0)>(Z|0)&Ia){f[e>>2]=Ia?5:3;g=0;return g|0}else{f[k>>2]=Z;g=_;return g|0}return 0}function Tb(a,c,e,f,g){a=a|0;c=c|0;e=e|0;f=f|0;g=g|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0;i=u;u=u+256|0;k=i;l=(g|0)/25|0;if(g>>>0>100){m=0;u=i;return m|0}if((a|0)==0|(c|0)<1|(e|0)<1){m=0;u=i;return m|0}g=c+-1|0;n=(l<<1|1|0)>(c|0)?g>>1:l;l=e+-1|0;o=(n<<1|1|0)>(e|0)?l>>1:n;n=0-o|0;if((o|0)<=0){m=1;u=i;return m|0}p=o<<1|1;q=c<<1;r=X(p+1|0,q)|0;s=Nb(1,0,q+4094+r|0)|0;if(!s){m=0;u=i;return m|0}t=s;v=s+((X(p,c)|0)<<1)|0;w=v+(0-c<<1)|0;ph(w|0,0,q|0)|0;x=s+r|0;r=x+q|0;y=262144/((X(p,p)|0)>>>0)|0;ph(k|0,0,256)|0;p=(c|0)>0;if(p&(e|0)>0){z=0;A=a;B=255;C=0;D=0;E=255;while(1){F=0;G=B;H=C;I=E;J=D;do{K=h[A+F>>0]|0;L=(K|0)<(I|0);G=L?K:G;I=L?K:I;L=(K|0)>(J|0);H=L?K:H;J=L?K:J;b[k+K>>0]=1;F=F+1|0}while((F|0)!=(c|0));z=z+1|0;if((z|0)==(e|0)){M=G;N=H;O=I;P=J;break}else{A=A+f|0;B=G;C=H;D=J;E=I}}}else{M=255;N=0;O=255;P=0}E=-1;D=0;C=0;B=P-O|0;while(1){if(b[k+D>>0]|0){O=C+1|0;if((E|0)>-1){P=D-E|0;Q=D;R=O;S=(P|0)<(B|0)?P:B}else{Q=D;R=O;S=B}}else{Q=E;R=C;S=B}D=D+1|0;if((D|0)==256)break;else{E=Q;C=R;B=S}}B=r+2046|0;r=S<<2;C=S*12>>2;S=r-C|0;Q=1;do{if((Q|0)>(C|0))if((r|0)>(Q|0))T=(X(r-Q|0,C)|0)/(S|0)|0;else T=0;else T=Q;E=T>>2;d[B+(Q<<1)>>1]=E;d[B+(0-Q<<1)>>1]=0-E;Q=Q+1|0}while((Q|0)!=1024);d[B>>1]=0;if((R|0)>2&(n|0)<(e|0)){R=(o|0)<0;Q=c-o|0;T=~o;S=v+(g<<1)|0;g=q+-2-o|0;q=o+-1|0;C=o+1|0;r=n;n=a;E=a;a=t;D=w;while(1){w=D;D=a;if(p){k=0;O=0;while(1){P=h[n+k>>0]|0;A=P+O+(j[w+(k<<1)>>1]|0)|0;z=D+(k<<1)|0;d[v+(k<<1)>>1]=A-(j[z>>1]|0);d[z>>1]=A;k=k+1|0;if((k|0)==(c|0))break;else O=P+(O&65535)|0}}O=D+(c<<1)|0;a=(O|0)==(v|0)?t:O;n=(r|0)>-1&(r|0)<(l|0)?n+f|0:n;if((r|0)<(o|0))U=E;else{if(R)V=0;else{O=0;do{k=(X((j[v+(o-O<<1)>>1]|0)+(j[v+(q+O<<1)>>1]|0)&65535,y)|0)>>>16&65535;d[x+(O<<1)>>1]=k;O=O+1|0}while((O|0)!=(C|0));V=C}if((V|0)<(Q|0)){O=V;do{k=(X((j[v+(O+o<<1)>>1]|0)-(j[v+(O+T<<1)>>1]|0)&65535,y)|0)>>>16&65535;d[x+(O<<1)>>1]=k;O=O+1|0}while((O|0)!=(Q|0));W=Q}else W=V;if((W|0)<(c|0)){O=W;do{k=(X((j[S>>1]<<1)-(j[v+(g-O<<1)>>1]|0)-(j[v+(O+T<<1)>>1]|0)&65535,y)|0)>>>16&65535;d[x+(O<<1)>>1]=k;O=O+1|0}while((O|0)!=(c|0))}if(p){O=0;do{k=E+O|0;w=h[k>>0]|0;if((w|0)<(N|0)&(w|0)>(M|0)){I=(d[B+((j[x+(O<<1)>>1]|0)-(w<<2)<<1)>>1]|0)+w|0;if(I>>>0>255)Y=(I>>31&-255)+255|0;else Y=I&255;b[k>>0]=Y}O=O+1|0}while((O|0)!=(c|0))}U=E+f|0}r=r+1|0;if((r|0)==(e|0))break;else E=U}}Gb(s);m=1;u=i;return m|0}function Ub(){var a=0;if(qh(12276)|0)return;a=f[2893]|0;if((f[31]|0)!=(a|0)){f[2882]=1;f[2883]=4;f[2885]=5;f[2890]=1;f[2884]=4;f[2886]=1;f[2887]=2;f[2888]=2;f[2889]=2;f[2891]=1;f[2892]=2}f[31]=a;Ch(12276)|0;return}function Vb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=a+16|0;c=a+20|0;d=f[c>>2]|0;a:do if((d|0)>7){e=a+8|0;g=f[a+12>>2]|0;i=d;j=f[b>>2]|0;while(1){if(j>>>0>=g>>>0){k=i;break a}l=a;m=rh(f[l>>2]|0,f[l+4>>2]|0,8)|0;l=I;n=a;f[n>>2]=m;f[n+4>>2]=l;n=zh(h[(f[e>>2]|0)+j>>0]|0|0,0,56)|0;o=a;f[o>>2]=n|m;f[o+4>>2]=I|l;j=j+1|0;f[b>>2]=j;l=i+-8|0;f[c>>2]=l;if((l|0)<=7){k=l;break}else i=l}}else k=d;while(0);d=a+24|0;if((f[d>>2]|0)==0?!((k|0)>64?(f[b>>2]|0)==(f[a+12>>2]|0):0):0)return;f[d>>2]=1;f[c>>2]=0;return}function Wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+8>>2]|0;d=f[c+40>>2]|0;e=d+12|0;g=a+108|0;h=f[((f[e>>2]|0)>>>0<2?c+84|0:g)>>2]|0;i=f[g>>2]|0;j=(i|0)<(h|0)?h:i;if((j|0)>=(b|0)){k=a+116|0;f[k>>2]=b;f[g>>2]=b;return}i=f[c>>2]|0;c=(f[d+136>>2]|0)+(X(i,j)|0)|0;ac(a+180|0,j,b,(f[a+16>>2]|0)+(X(f[a+100>>2]|0,j)|0)|0,c);h=f[e>>2]|0;if(!h){k=a+116|0;f[k>>2]=b;f[g>>2]=b;return}l=d+140|0;d=X(i,b+-1-j|0)|0;wb[f[11764+(h<<2)>>2]&31](f[l>>2]|0,c,c,i);h=j+1|0;if((h|0)!=(b|0)){j=c;m=h;do{h=j;j=j+i|0;wb[f[11764+(f[e>>2]<<2)>>2]&31](h,j,j,i);m=m+1|0}while((m|0)!=(b|0))}f[l>>2]=c+d;k=a+116|0;f[k>>2]=b;f[g>>2]=b;return}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;c=a+24|0;do if((b|0)<25&(f[c>>2]|0)==0){d=a;e=f[d>>2]|0;g=f[d+4>>2]|0;d=a+20|0;i=f[d>>2]|0;j=rh(e|0,g|0,i&63|0)|0;k=j&f[24+(b<<2)>>2];j=i+b|0;f[d>>2]=j;i=a+16|0;if((j|0)<=7){l=k;return l|0}m=a+8|0;n=f[a+12>>2]|0;o=f[i>>2]|0;p=e;e=g;g=j;while(1){if(o>>>0>=n>>>0)break;j=rh(p|0,e|0,8)|0;q=I;r=a;f[r>>2]=j;f[r+4>>2]=q;r=zh(h[(f[m>>2]|0)+o>>0]|0|0,0,56)|0;p=r|j;e=I|q;q=a;f[q>>2]=p;f[q+4>>2]=e;o=o+1|0;f[i>>2]=o;q=g+-8|0;f[d>>2]=q;if((q|0)<=7){l=k;s=10;break}else g=q}if((s|0)==10)return l|0;if((g|0)>64?(f[i>>2]|0)==(f[a+12>>2]|0):0){f[c>>2]=1;t=k;u=d;break}else{l=k;return l|0}}else{f[c>>2]=1;t=0;u=a+20|0}while(0);f[u>>2]=0;l=t;return l|0}function Yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;c=a+108|0;d=f[c>>2]|0;e=b-d|0;g=a+100|0;if((e|0)<=0){h=a+116|0;f[h>>2]=b;f[c>>2]=b;return}i=f[g>>2]|0;j=a+8|0;k=a+20|0;l=a+176|0;m=e;e=d;n=d;o=(f[a+16>>2]|0)+((X(i,d)|0)<<2)|0;d=i;while(1){i=(m|0)<16?m:16;p=f[j>>2]|0;q=f[p+40>>2]|0;r=f[p>>2]|0;p=X(r,i)|0;s=(f[q+136>>2]|0)+(X(r,e)|0)|0;t=f[k>>2]|0;u=f[l>>2]|0;v=n+i|0;if((u|0)<=0){if((t|0)!=(o|0))sh(t|0,o|0,X(i<<2,d)|0)|0}else{w=o;x=u;while(1){u=x+-1|0;$b(a+180+(u*20|0)|0,n,v,w,t);if((x|0)>1){w=t;x=u}else break}}rb[f[2889]&31](t,s,p);x=i+e|0;w=q+12|0;v=f[w>>2]|0;if(v|0){u=q+140|0;y=f[u>>2]|0;if((m|0)>0){z=X(r,i+-1|0)|0;wb[f[11764+(v<<2)>>2]&31](y,s,s,r);v=e+1|0;if((v|0)!=(x|0)){A=s;B=v;do{v=A;A=A+r|0;wb[f[11764+(f[w>>2]<<2)>>2]&31](v,A,A,r);B=B+1|0}while((B|0)!=(x|0))}C=s+z|0}else C=y;f[u>>2]=C}B=m-i|0;r=f[g>>2]|0;if((B|0)<=0)break;A=o+((X(i,r)|0)<<2)|0;m=B;e=x;n=f[c>>2]|0;o=A;d=r}h=a+116|0;f[h>>2]=b;f[c>>2]=b;return}function Zb(a,c,e,g,i,k){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0;l=a+112|0;m=f[l>>2]|0;n=(m|0)/(e|0)|0;o=(m|0)%(e|0)|0;p=a+24|0;q=c+(m<<2)|0;r=c+((X(g,e)|0)<<2)|0;g=X(i,e)|0;s=c+(g<<2)|0;t=a+120|0;u=f[t>>2]|0;v=u+280|0;w=a+56|0;x=f[w>>2]|0?n:16777216;y=(u|0)>0;u=a+124|0;z=y?u:0;A=f[a+148>>2]|0;B=a+152|0;if((m|0)<(g|0)){g=f[B>>2]|0;if(!g)C=0;else{m=(f[a+160>>2]|0)+((X(f[a+156>>2]|0,n>>g)|0)+(o>>g)<<2)|0;C=f[m>>2]|0}m=a+168|0;D=(f[m>>2]|0)+(C*548|0)|0;E=m}else{D=0;E=a+168|0}m=a+160|0;C=a+156|0;g=a+44|0;F=a+48|0;G=a+40|0;H=a+36|0;I=c;c=r;J=(k|0)==0;K=a+64|0;L=a+96|0;M=a+136|0;N=z+4|0;O=(k|0)!=0;P=n;n=o;o=q;Q=q;q=x;x=D;a:while(1){D=Q;R=P;S=n;T=o;U=q;V=x;b:while(1){W=R;Y=S;Z=T;_=U;$=V;while(1){if(Z>>>0>=s>>>0){aa=110;break a}if((W|0)<(_|0))ba=_;else{f[K>>2]=f[p>>2];f[K+4>>2]=f[p+4>>2];f[K+8>>2]=f[p+8>>2];f[K+12>>2]=f[p+12>>2];f[K+16>>2]=f[p+16>>2];f[K+20>>2]=f[p+20>>2];f[K+24>>2]=f[p+24>>2];f[K+28>>2]=f[p+28>>2];f[L>>2]=Z-I>>2;if((f[t>>2]|0)>0)_b(u,M);ba=W+8|0}if(!(Y&A)){ca=f[B>>2]|0;if(!ca)da=0;else{ea=(f[m>>2]|0)+((X(f[C>>2]|0,W>>ca)|0)+(Y>>ca)<<2)|0;da=f[ea>>2]|0}fa=(f[E>>2]|0)+(da*548|0)|0}else fa=$;if(f[fa+28>>2]|0){aa=21;break b}if((f[g>>2]|0)>31)Vb(p);if(!(f[fa+32>>2]|0)){ea=f[fa>>2]|0;ca=p;ga=f[ca>>2]|0;ha=f[ca+4>>2]|0;ca=f[g>>2]|0;ia=rh(ga|0,ha|0,ca&63|0)|0;ja=ia&255;ia=ea+(ja<<2)|0;ka=b[ia>>0]|0;if((ka&255)>8){la=ca+8|0;f[g>>2]=la;ma=rh(ga|0,ha|0,la&63|0)|0;na=ia+((j[ea+(ja<<2)+2>>1]|0)<<2)+((ma&(1<<(ka&255)+-8)+-1)<<2)|0;oa=na;pa=b[na>>0]|0;qa=la}else{oa=ia;pa=ka;qa=ca}f[g>>2]=(pa&255)+qa;if(!(f[F>>2]|0)){ra=j[oa+2>>1]|0;sa=ga;ta=ha}else{ua=1;aa=113;break a}}else{ha=p;ga=f[ha>>2]|0;ca=f[ha+4>>2]|0;ha=f[g>>2]|0;ka=rh(ga|0,ca|0,ha&63|0)|0;ia=ka&63;ka=f[fa+36+(ia<<3)>>2]|0;la=f[fa+36+(ia<<3)+4>>2]|0;ia=ka+ha|0;if((ka|0)<256){f[g>>2]=ia;f[Z>>2]=la;va=0}else{f[g>>2]=ia+-256;va=la}if(f[F>>2]|0){ua=1;aa=113;break a}if((f[G>>2]|0)==(f[H>>2]|0)?(f[g>>2]|0)>64:0){aa=111;break a}if(!va){wa=Q;break b}else{ra=va;sa=ga;ta=ca}}if((f[G>>2]|0)==(f[H>>2]|0)?(f[g>>2]|0)>64:0){aa=111;break a}if((ra|0)<256){aa=38;break b}if((ra|0)>=280){aa=104;break b}ca=ra+-256|0;ga=ra+-258>>1;if((ca|0)<4){xa=ca;ya=sa;za=ta}else{la=(Xb(p,ga)|0)+((ca&1|2)<<ga)|0;ga=p;xa=la;ya=f[ga>>2]|0;za=f[ga+4>>2]|0}ga=xa+1|0;la=f[fa+16>>2]|0;ca=f[g>>2]|0;ia=rh(ya|0,za|0,ca&63|0)|0;ka=ia&255;ia=la+(ka<<2)|0;ha=b[ia>>0]|0;if((ha&255)>8){na=ca+8|0;f[g>>2]=na;ma=rh(ya|0,za|0,na&63|0)|0;ja=ia+((j[la+(ka<<2)+2>>1]|0)<<2)+((ma&(1<<(ha&255)+-8)+-1)<<2)|0;Aa=ja;Ba=b[ja>>0]|0;Ca=na}else{Aa=ia;Ba=ha;Ca=ca}ca=(Ba&255)+Ca|0;f[g>>2]=ca;ha=d[Aa+2>>1]|0;ia=ha&65535;if((ca|0)>31)Vb(p);ca=ia+-2>>1;if((ha&65535)<4)Da=ia;else Da=(Xb(p,ca)|0)+((ia&1|2)<<ca)|0;if((Da+1|0)>120)Ea=Da+-119|0;else{ca=h[5175+Da>>0]|0;ia=(X(ca>>>4,e)|0)+(8-(ca&15))|0;Ea=(ia|0)>1?ia:1}if(f[F>>2]|0){ua=1;aa=113;break a}if((f[G>>2]|0)==(f[H>>2]|0)?(f[g>>2]|0)>64:0){aa=111;break a}ia=Z;if((ia-I>>2|0)<(Ea|0))break a;if((c-ia>>2|0)<(ga|0))break a;ca=Z+(0-Ea<<2)|0;do if((ia&3|0)==0&((ga|0)>3&(Ea|0)<3)){if((Ea|0)==1){ha=f[ca>>2]|0;Fa=ha;Ga=ha;Ha=ha}else{ha=ca;na=f[ha>>2]|0;Fa=na;Ga=na;Ha=f[ha+4>>2]|0}if(!(ia&4)){Ia=ga;Ja=Z;Ka=ca;La=Ga;Ma=Ha}else{f[Z>>2]=Fa;Ia=xa;Ja=Z+4|0;Ka=ca+4|0;La=Ha;Ma=Ga}ha=Ia>>1;if((ha|0)>0){na=0;do{ja=Ja+(na<<3)|0;f[ja>>2]=La;f[ja+4>>2]=Ma;na=na+1|0}while((na|0)!=(ha|0));Na=ha<<1}else Na=0;if(!(Ia&1))break;f[Ja+(Na<<2)>>2]=f[Ka+(Na<<2)>>2]}else{if((Ea|0)>=(ga|0)){sh(Z|0,ca|0,ga<<2|0)|0;break}if((ga|0)>0)Oa=0;else break;do{f[Z+(Oa<<2)>>2]=f[ca+(Oa<<2)>>2];Oa=Oa+1|0}while((Oa|0)!=(ga|0))}while(0);Pa=Z+(ga<<2)|0;ca=ga+Y|0;c:do if((ca|0)<(e|0)){Qa=W;Ra=ca}else{if(J){ia=ca;ha=W;while(1){na=ia-e|0;ja=ha+1|0;if((na|0)<(e|0)){Qa=ja;Ra=na;break c}else{ia=na;ha=ja}}}else{Sa=ca;Ta=W}while(1){ha=Sa-e|0;ia=Ta+1|0;if((Ta|0)<(i|0)&(ia&15|0)==0)ob[k&15](a,ia);if((ha|0)<(e|0)){Qa=ia;Ra=ha;break}else{Sa=ha;Ta=ia}}}while(0);if(!(Ra&A))Ua=fa;else{ca=f[B>>2]|0;if(!ca)Va=0;else{ga=(f[m>>2]|0)+((X(f[C>>2]|0,Qa>>ca)|0)+(Ra>>ca)<<2)|0;Va=f[ga>>2]|0}Ua=(f[E>>2]|0)+(Va*548|0)|0}if(y)break;else{W=Qa;Y=Ra;Z=Pa;_=ba;$=Ua}}if(Q>>>0<Pa>>>0){aa=102;break}else{R=Qa;S=Ra;T=Pa;U=ba;V=Ua}}do if((aa|0)==21){aa=0;Wa=Q;Xa=f[fa+24>>2]|0;aa=50}else if((aa|0)==38){aa=0;if(f[fa+20>>2]|0){Wa=Q;Xa=f[fa+24>>2]|ra<<8;aa=50;break}V=f[fa+4>>2]|0;U=f[g>>2]|0;T=rh(sa|0,ta|0,U&63|0)|0;S=T&255;T=V+(S<<2)|0;R=b[T>>0]|0;if((R&255)>8){$=U+8|0;f[g>>2]=$;_=rh(sa|0,ta|0,$&63|0)|0;ga=T+((j[V+(S<<2)+2>>1]|0)<<2)+((_&(1<<(R&255)+-8)+-1)<<2)|0;Ya=ga;Za=b[ga>>0]|0;_a=$}else{Ya=T;Za=R;_a=U}U=(Za&255)+_a|0;f[g>>2]=U;R=j[Ya+2>>1]|0;if((U|0)>31){Vb(p);T=p;$a=f[g>>2]|0;ab=f[T>>2]|0;bb=f[T+4>>2]|0}else{$a=U;ab=sa;bb=ta}U=f[fa+8>>2]|0;T=rh(ab|0,bb|0,$a&63|0)|0;$=T&255;T=U+($<<2)|0;ga=b[T>>0]|0;if((ga&255)>8){_=$a+8|0;f[g>>2]=_;S=rh(ab|0,bb|0,_&63|0)|0;V=T+((j[U+($<<2)+2>>1]|0)<<2)+((S&(1<<(ga&255)+-8)+-1)<<2)|0;cb=V;db=b[V>>0]|0;eb=_}else{cb=T;db=ga;eb=$a}ga=(db&255)+eb|0;f[g>>2]=ga;T=j[cb+2>>1]|0;_=f[fa+12>>2]|0;V=rh(ab|0,bb|0,ga&63|0)|0;S=V&255;V=_+(S<<2)|0;$=b[V>>0]|0;if(($&255)>8){U=ga+8|0;f[g>>2]=U;ca=rh(ab|0,bb|0,U&63|0)|0;ia=V+((j[_+(S<<2)+2>>1]|0)<<2)+(((1<<($&255)+-8)+-1&ca)<<2)|0;fb=ia;gb=b[ia>>0]|0;hb=U}else{fb=V;gb=$;hb=ga}ga=(gb&255)+hb|0;f[g>>2]=ga;if(f[F>>2]|0){ua=1;aa=113;break a}if((ga|0)>64?(f[G>>2]|0)==(f[H>>2]|0):0){aa=111;break a}else{Wa=Q;Xa=R<<16|ra<<8|T|(j[fb+2>>1]|0)<<24;aa=50}}else if((aa|0)==102){aa=0;T=f[z>>2]|0;R=Q+4|0;ga=((Pa>>>0>R>>>0?Pa:R)+-1+(0-D)|0)>>>2;$=Q;do{V=f[$>>2]|0;$=$+4|0;U=T+((X(V,506832829)|0)>>>(f[N>>2]|0)<<2)|0;f[U>>2]=V}while($>>>0<Pa>>>0);P=Qa;n=Ra;o=Pa;Q=R+(ga<<2)|0;q=ba;x=Ua;continue a}else if((aa|0)==104){aa=0;if((ra|0)>=(v|0))break a;$=ra+-280|0;T=f[z>>2]|0;if(Q>>>0<Z>>>0){V=(Z+-1+(0-D)|0)>>>2;U=Q;do{ia=f[U>>2]|0;U=U+4|0;ca=T+((X(ia,506832829)|0)>>>(f[N>>2]|0)<<2)|0;f[ca>>2]=ia}while(U>>>0<Z>>>0);ib=Q+4+(V<<2)|0}else ib=Q;Wa=ib;Xa=f[T+($<<2)>>2]|0;aa=50}while(0);if((aa|0)==50){aa=0;f[Z>>2]=Xa;wa=Wa}D=Z+4|0;U=Y+1|0;if((U|0)<(e|0)){P=W;n=U;o=D;Q=wa;q=ba;x=fa;continue}U=W+1|0;if(O&(W|0)<(i|0)&(U&15|0)==0)ob[k&15](a,U);if(!(y&wa>>>0<D>>>0)){P=U;n=0;o=D;Q=wa;q=ba;x=fa;continue}ga=f[z>>2]|0;R=((wa>>>0>Z>>>0?wa:Z)+3+(0-wa)|0)>>>2;ia=wa;while(1){ca=f[ia>>2]|0;S=ga+((X(ca,506832829)|0)>>>(f[N>>2]|0)<<2)|0;f[S>>2]=ca;if(ia>>>0<Z>>>0)ia=ia+4|0;else break}P=U;n=0;o=D;Q=wa+4+(R<<2)|0;q=ba;x=fa}if((aa|0)==110)if(!(f[F>>2]|0))aa=111;else{ua=1;aa=113}if((aa|0)==111)if((f[G>>2]|0)==(f[H>>2]|0)){ua=(f[g>>2]|0)>64;aa=113}else{ua=0;aa=113}if((aa|0)==113){f[F>>2]=ua&1;if(Z>>>0<r>>>0&(ua&(f[w>>2]|0)!=0)){f[a>>2]=5;f[p>>2]=f[K>>2];f[p+4>>2]=f[K+4>>2];f[p+8>>2]=f[K+8>>2];f[p+12>>2]=f[K+12>>2];f[p+16>>2]=f[K+16>>2];f[p+20>>2]=f[K+20>>2];f[p+24>>2]=f[K+24>>2];f[p+28>>2]=f[K+28>>2];f[l>>2]=f[L>>2];if((f[t>>2]|0)<=0){jb=1;return jb|0}_b(M,u);jb=1;return jb|0}if(!ua){if(!J)ob[k&15](a,(W|0)>(i|0)?i:W);f[a>>2]=0;f[l>>2]=Z-I>>2;jb=1;return jb|0}}f[a>>2]=3;jb=0;return jb|0}function _b(a,b){a=a|0;b=b|0;sh(f[b>>2]|0,f[a>>2]|0,4<<f[b+8>>2]|0)|0;return}function $b(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;h=u;u=u+16|0;i=h;j=a+8|0;k=f[j>>2]|0;switch(f[a>>2]|0){case 2:{l=X(k,d-c|0)|0;rb[f[2946]&31](e,l,g);u=h;return}case 0:{if(!c){l=f[e>>2]|0;m=l+-16777216&-16711936|l&16711935;f[g>>2]=m;l=e+4|0;n=k+-1|0;o=g+4|0;if((k|0)>1){p=0;q=m;do{m=f[l+(p<<2)>>2]|0;q=(m&-16711936)+(q&-16711936)&-16711936|(m&16711935)+(q&16711935)&16711935;f[o+(p<<2)>>2]=q;p=p+1|0}while((p|0)!=(n|0))}r=1;s=e+(k<<2)|0;t=g+(k<<2)|0;v=n}else{r=c;s=e;t=g;v=k+-1|0}n=f[a+4>>2]|0;p=1<<n;q=p+-1|0;o=(p+v|0)>>>n;a:do if((r|0)<(d|0)){v=0-k|0;l=0-p|0;if((k|0)<=1){m=r;w=s;x=t;while(1){y=f[x+(v<<2)>>2]|0;z=f[w>>2]|0;f[x>>2]=(z&-16711936)+(y&-16711936)&-16711936|(z&16711935)+(y&16711935)&16711935;m=m+1|0;if((m|0)==(d|0))break a;else{w=w+(k<<2)|0;x=x+(k<<2)|0}}}x=(f[a+16>>2]|0)+((X(o,r>>n)|0)<<2)|0;w=r;m=s;y=t;while(1){z=f[y+(v<<2)>>2]|0;A=f[m>>2]|0;f[y>>2]=(A&-16711936)+(z&-16711936)&-16711936|(A&16711935)+(z&16711935)&16711935;z=1;A=x;while(1){B=(z&l)+p|0;C=z;z=(B|0)>(k|0)?k:B;D=y+(C<<2)|0;wb[f[11808+(((f[A>>2]|0)>>>8&15)<<2)>>2]&31](m+(C<<2)|0,D+(v<<2)|0,z-C|0,D);if((k|0)<=(B|0))break;else A=A+4|0}A=w+1|0;if((A|0)==(d|0))break;else{x=(A&q|0)==0?x+(o<<2)|0:x;w=A;m=m+(k<<2)|0;y=y+(k<<2)|0}}}while(0);if((f[a+12>>2]|0)==(d|0)){u=h;return}sh(g+(0-k<<2)|0,g+((X(k,~c+d|0)|0)<<2)|0,k<<2|0)|0;u=h;return}case 1:{o=f[a+4>>2]|0;q=1<<o;p=q+-1|0;t=k&0-q;s=k-t|0;r=(k+-1+q|0)>>>o;if((d|0)<=(c|0)){u=h;return}n=(f[a+16>>2]|0)+((X(r,c>>o)|0)<<2)|0;o=i+1|0;y=i+2|0;if((t|0)>0){E=g;F=n;G=c;H=e}else{m=(k|0)>0;w=g;x=n;n=c;v=e;while(1){b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;if(m){l=f[x>>2]|0;b[i>>0]=l;b[o>>0]=l>>>8;b[y>>0]=l>>>16;wb[f[3016]&31](i,v,s,w);I=v+(s<<2)|0;J=w+(s<<2)|0}else{I=v;J=w}l=n+1|0;if((l|0)==(d|0))break;else{w=J;x=(l&p|0)==0?x+(r<<2)|0:x;n=l;v=I}}u=h;return}while(1){b[i>>0]=0;b[i+1>>0]=0;b[i+2>>0]=0;I=H+(t<<2)|0;v=F;n=H;x=E;do{J=v;v=v+4|0;w=f[J>>2]|0;b[i>>0]=w;b[o>>0]=w>>>8;b[y>>0]=w>>>16;wb[f[3016]&31](i,n,q,x);n=n+(q<<2)|0;x=x+(q<<2)|0}while(n>>>0<I>>>0);if(n>>>0<(H+(k<<2)|0)>>>0){I=f[v>>2]|0;b[i>>0]=I;b[o>>0]=I>>>8;b[y>>0]=I>>>16;wb[f[3016]&31](i,n,s,x);K=n+(s<<2)|0;L=x+(s<<2)|0}else{K=n;L=x}I=G+1|0;if((I|0)==(d|0))break;else{E=L;F=(I&p|0)==0?F+(r<<2)|0:F;G=I;H=K}}u=h;return}case 3:{K=a+4|0;H=f[K>>2]|0;if((e|0)==(g|0)&(H|0)>0){G=d-c|0;F=X((k+-1+(1<<H)|0)>>>H,G)|0;r=e+((X(k,G)|0)<<2)+(0-F<<2)|0;Ah(r|0,e|0,F<<2|0)|0;F=f[K>>2]|0;K=f[j>>2]|0;j=f[a+16>>2]|0;G=8>>>F;if((G|0)>=8){ub[f[3017]&15](r,j,e,c,d,K);u=h;return}p=(1<<F)+-1|0;F=(1<<G)+-1|0;if((d|0)>(c|0)&(K|0)>0){M=r;N=e;O=c}else{u=h;return}while(1){r=0;L=0;E=M;s=N;while(1){if(!(r&p)){P=(f[E>>2]|0)>>>8&255;Q=E+4|0}else{P=L;Q=E}f[s>>2]=f[j+((P&F)<<2)>>2];r=r+1|0;if((r|0)==(K|0))break;else{L=P>>>G;E=Q;s=s+4|0}}O=O+1|0;if((O|0)==(d|0))break;else{M=Q;N=N+(K<<2)|0}}u=h;return}else{K=f[a+16>>2]|0;a=8>>>H;if((a|0)>=8){ub[f[3017]&15](e,K,g,c,d,k);u=h;return}N=(1<<H)+-1|0;H=(1<<a)+-1|0;if((d|0)>(c|0)&(k|0)>0){R=e;S=g;T=c}else{u=h;return}while(1){c=0;g=0;e=R;Q=S;while(1){if(!(c&N)){U=(f[e>>2]|0)>>>8&255;V=e+4|0}else{U=g;V=e}f[Q>>2]=f[K+((U&H)<<2)>>2];c=c+1|0;if((c|0)==(k|0))break;else{g=U>>>a;e=V;Q=Q+4|0}}T=T+1|0;if((T|0)==(d|0))break;else{R=V;S=S+(k<<2)|0}}u=h;return}break}default:{u=h;return}}}function ac(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=f[a+4>>2]|0;j=8>>>i;k=f[a+8>>2]|0;l=f[a+16>>2]|0;if((j|0)>=8){ub[f[2945]&15](e,l,g,c,d,k);return}a=(1<<i)+-1|0;i=(1<<j)+-1|0;if((c|0)<(d|0)&(k|0)>0){m=e;n=g;o=c}else return;while(1){c=0;g=0;e=m;p=n;while(1){if(!(g&a)){q=h[e>>0]|0;r=e+1|0}else{q=c;r=e}b[p>>0]=(f[l+((q&i)<<2)>>2]|0)>>>8;g=g+1|0;if((g|0)==(k|0))break;else{c=q>>>j;e=r;p=p+1|0}}o=o+1|0;if((o|0)==(d|0))break;else{m=r;n=n+k|0}}return}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if((b|0)<=0)return;if(!c){c=0;do{d=a+(c<<2)|0;e=f[d>>2]|0;if(e>>>0<4278190080){if(e>>>0<16777216)g=0;else{h=(e>>>24)*65793|0;g=((X(h,e&255)|0)+8388608|0)>>>24|e&-16777216|((X(h,e>>>8&255)|0)+8388608|0)>>>24<<8|((X(h,e>>>16&255)|0)+8388608|0)>>>24<<16}f[d>>2]=g}c=c+1|0}while((c|0)!=(b|0));return}else{c=0;do{g=a+(c<<2)|0;d=f[g>>2]|0;if(d>>>0<4278190080){if(d>>>0<16777216)i=0;else{e=4278190080/(d>>>24>>>0)|0;i=((X(e,d&255)|0)+8388608|0)>>>24|d&-16777216|((X(e,d>>>8&255)|0)+8388608|0)>>>24<<8|((X(e,d>>>16&255)|0)+8388608|0)>>>24<<16}f[g>>2]=i}c=c+1|0}while((c|0)!=(b|0));return}}function cc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;if((d|0)<=0)return;if(!e){e=0;do{f=b[c+e>>0]|0;switch(f<<24>>24){case -1:break;case 0:{b[a+e>>0]=0;break}default:{g=a+e|0;i=((X(h[g>>0]|0,(f&255)*65793|0)|0)+8388608|0)>>>24&255;b[g>>0]=i}}e=e+1|0}while((e|0)!=(d|0));return}else{e=0;do{i=b[c+e>>0]|0;switch(i<<24>>24){case -1:break;case 0:{b[a+e>>0]=0;break}default:{g=a+e|0;f=((X(h[g>>0]|0,4278190080/((i&255)>>>0)|0)|0)+8388608|0)>>>24&255;b[g>>0]=f}}e=e+1|0}while((e|0)!=(d|0));return}}function dc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((c|0)>0&(d|0)>0){f=a;g=d}else return;while(1){d=0;do{a=d<<1;i=f+a|0;j=f+(a|1)|0;a=b[j>>0]|0;k=a&15;l=(k&255)*4369|0;m=h[i>>0]|0;n=a&255;a=(X(n&240|n>>>4,l)|0)>>>16&255;n=((X(l,m&240|m>>>4)|0)>>>16&240|(X(m<<4&240|m&15,l)|0)>>>20&15)&255;b[i>>0]=n;b[j>>0]=a&-16|k;d=d+1|0}while((d|0)!=(c|0));if((g|0)>1){f=f+e|0;g=g+-1|0}else break}return}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0;if((d|0)>0){i=0;j=0}else return;while(1){f[g+(i<<2)>>2]=(h[a+j>>0]|0)<<16|(h[b+j>>0]|0)<<8|(h[c+j>>0]|0)|-16777216;i=i+1|0;if((i|0)==(d|0))break;else j=j+e|0}return}function fc(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((e|0)<=0)return;g=(c|0)!=0;c=g&1;i=g?0:3;if((d|0)>0){j=a;k=e}else return;while(1){e=k;k=k+-1|0;a=j+c|0;g=j+i|0;l=0;do{m=l<<2;n=b[g+m>>0]|0;if(n<<24>>24!=-1){o=(n&255)*32897|0;n=a+m|0;p=(X(h[n>>0]|0,o)|0)>>>23&255;b[n>>0]=p;p=a+(m|1)|0;n=(X(h[p>>0]|0,o)|0)>>>23&255;b[p>>0]=n;n=a+(m|2)|0;m=(X(h[n>>0]|0,o)|0)>>>23&255;b[n>>0]=m}l=l+1|0}while((l|0)!=(d|0));if((e|0)<=1)break;else j=j+f|0}return}function gc(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)>0&(d|0)>0){h=0;i=255;j=f;k=a}else{l=0;m=l&1;return m|0}while(1){a=0;n=i;do{f=b[k+a>>0]|0;b[j+(a<<2)>>0]=f;n=f&255&n;a=a+1|0}while((a|0)!=(d|0));h=h+1|0;if((h|0)==(e|0))break;else{i=n;j=j+g|0;k=k+c|0}}l=(n|0)!=255;m=l&1;return m|0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0;if((d|0)>0&(c|0)>0){i=a;j=e;k=0}else return;while(1){e=0;do{f[j+(e<<2)>>2]=(h[i+e>>0]|0)<<8;e=e+1|0}while((e|0)!=(c|0));k=k+1|0;if((k|0)==(d|0))break;else{i=i+b|0;j=j+(g<<2)|0}}return}function ic(a,c,d,e,f,g){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)>0&(d|0)>0){h=0;i=-1;j=f;k=a}else{l=1;m=l&1;return m|0}while(1){a=0;n=i;do{f=b[k+(a<<2)>>0]|0;b[j+a>>0]=f;n=f&n;a=a+1|0}while((a|0)!=(d|0));h=h+1|0;if((h|0)==(e|0))break;else{i=n;j=j+g|0;k=k+c|0}}l=n<<24>>24==-1;m=l&1;return m|0}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((d|0)>0)e=0;else return;do{b[c+e>>0]=(f[a+(e<<2)>>2]|0)>>>8;e=e+1|0}while((e|0)!=(d|0));return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=c;c=a;while(1){if((d|0)<=0){e=0;f=4;break}if((b[c>>0]|0)==-1){d=d+-1|0;c=c+1|0}else{e=1;f=4;break}}if((f|0)==4)return e|0;return 0}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;a:do if((c|0)>0){d=0;e=c;while(1){if((b[a+d>>0]|0)!=-1){f=1;break a}if((e|0)>1){d=d+4|0;e=e+-1|0}else{f=0;break}}}else f=0;while(0);return f|0}function mc(){var a=0;if(qh(12304)|0)return;a=f[2893]|0;if((f[32]|0)!=(a|0)){f[2968]=3;f[2969]=4;f[2970]=5;f[2971]=6;f[2972]=7;f[2973]=8;f[2974]=9;f[2975]=10;f[2976]=11;f[2977]=12;f[2978]=13;f[2979]=14;f[2980]=15;f[2981]=16;f[2982]=3;f[2983]=3;f[3e3]=3;f[3001]=4;f[3002]=5;f[3003]=6;f[3004]=7;f[3005]=8;f[3006]=9;f[3007]=10;f[3008]=11;f[3009]=12;f[3010]=13;f[3011]=14;f[3012]=15;f[3013]=16;f[3014]=3;f[3015]=3;f[2952]=6;f[2953]=7;f[2954]=8;f[2955]=9;f[2956]=10;f[2957]=11;f[2958]=12;f[2959]=13;f[2960]=14;f[2961]=15;f[2962]=16;f[2963]=17;f[2964]=18;f[2965]=19;f[2966]=6;f[2967]=6;f[2984]=6;f[2985]=7;f[2986]=8;f[2987]=9;f[2988]=10;f[2989]=11;f[2990]=12;f[2991]=13;f[2992]=14;f[2993]=15;f[2994]=16;f[2995]=17;f[2996]=18;f[2997]=19;f[2998]=6;f[2999]=6;f[2946]=3;f[3016]=20;f[2948]=4;f[2947]=5;f[2949]=6;f[2950]=7;f[2951]=8;f[3017]=3;f[2945]=4}f[32]=a;Ch(12304)|0;return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[a+12>>2]=c;d=a;f[d>>2]=0;f[d+4>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;d=c>>>0<8?c:8;if(!d){e=0;g=0}else{c=0;i=0;j=0;while(1){k=zh(h[b+c>>0]|0|0,0,c<<3|0)|0;l=k|i;k=I|j;c=c+1|0;if(c>>>0>=d>>>0){e=l;g=k;break}else{i=l;j=k}}}j=a;f[j>>2]=e;f[j+4>>2]=g;f[a+16>>2]=d;f[a+8>>2]=b;return}function oc(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;k=u;u=u+1152|0;l=k+632|0;m=k+552|0;n=k+548|0;o=k;p=g+24|0;q=g+120|0;r=(e|0)!=0;a:do if(r){s=g+176|0;t=g+260|0;v=a;while(1){b:while(1){c:while(1){if(!(Xb(p,1)|0)){w=v;x=18;break a}y=f[s>>2]|0;z=Xb(p,2)|0;A=f[t>>2]|0;B=1<<z;if(A&B|0){C=3;x=105;break a}f[t>>2]=A|B;f[g+180+(y*20|0)>>2]=z;D=g+180+(y*20|0)+8|0;f[D>>2]=v;E=g+180+(y*20|0)+12|0;f[E>>2]=c;F=g+180+(y*20|0)+16|0;f[F>>2]=0;f[s>>2]=(f[s>>2]|0)+1;switch(z|0){case 3:{break b;break}case 1:case 0:{break c;break}default:{}}}z=(Xb(p,3)|0)+2|0;f[g+180+(y*20|0)+4>>2]=z;B=1<<z;if(!(oc(((f[D>>2]|0)+-1+B|0)>>>z,(B+-1+(f[E>>2]|0)|0)>>>z,0,g,F)|0)){C=3;x=105;break a}}z=(Xb(p,8)|0)+1|0;if((z|0)>16)G=0;else G=(z|0)>4?1:(z|0)>2?2:3;B=((f[D>>2]|0)+-1+(1<<G)|0)>>>G;A=g+180+(y*20|0)+4|0;f[A>>2]=G;if(!(oc(z,1,0,g,F)|0)){C=3;x=105;break a}H=1<<(8>>>(f[A>>2]|0));A=Nb(H,((H|0)<0)<<31>>31,4)|0;if(!A){C=3;x=105;break a}J=f[F>>2]|0;f[A>>2]=f[J>>2];K=z<<2;if((K|0)>4){z=4;do{b[A+z>>0]=(h[A+(z+-4)>>0]|0)+(h[J+z>>0]|0);z=z+1|0}while((z|0)!=(K|0));L=K}else L=4;K=H<<2;if((K|0)>(L|0))ph(A+L|0,0,K-L|0)|0;Gb(f[F>>2]|0);f[F>>2]=A;v=B}}else{w=a;x=18}while(0);do if((x|0)==18){if(Xb(p,1)|0){a=Xb(p,4)|0;if((a+-1|0)>>>0<11)M=a;else{f[g>>2]=3;N=0;break}}else M=0;f[n>>2]=0;a=d[920+(M<<1)>>1]|0;F=a&65535;do if((e|0)!=0?(Xb(p,1)|0)!=0:0){L=(Xb(p,3)|0)+2|0;G=1<<L;y=(w+-1+G|0)>>>L;D=(c+-1+G|0)>>>L;G=X(y,D)|0;if(oc(y,D,0,g,n)|0){f[g+152>>2]=L;L=(G|0)>0;if(L){D=f[n>>2]|0;y=0;E=1;while(1){v=D+(y<<2)|0;s=(f[v>>2]|0)>>>8&65535;f[v>>2]=s;v=(s|0)<(E|0)?E:s+1|0;y=y+1|0;if((y|0)==(G|0)){O=v;break}else E=v}}else O=1;if((O|0)>1e3|(O|0)>(X(w,c)|0)){E=Nb(O,((O|0)<0)<<31>>31,4)|0;if(!E){f[g>>2]=1;P=0;Q=0;R=1;S=0;T=0;U=0;break}ph(E|0,-1,O<<2|0)|0;if(L){y=f[n>>2]|0;D=0;B=0;while(1){A=y+(B<<2)|0;H=E+(f[A>>2]<<2)|0;v=f[H>>2]|0;if((v|0)==-1){f[H>>2]=D;V=D+1|0;W=D}else{V=D;W=v}f[A>>2]=W;B=B+1|0;if((B|0)==(G|0)){Y=V;break}else D=V}}else Y=0;D=Nb(a&65535,0,4)|0;if(!D){f[g>>2]=1;P=0;Q=0;R=1;S=D;T=0;U=E}else{Z=D;_=E;$=O;aa=Y;ba=E;x=37}}else{Z=0;_=0;$=O;aa=O;ba=0;x=37}}else{P=0;Q=0;R=1;S=0;T=0;U=0}}else{Z=0;_=0;$=1;aa=1;ba=0;x=37}while(0);d:do if((x|0)==37){a=g+48|0;if(!(f[a>>2]|0)){D=(M|0)>0;G=1<<M;if(D){B=G+280|0;y=(G|0)>-280&(B|0)>256;ca=y?B:256;da=y?0:0}else{ca=280;da=0}y=Mb(ca,da,4)|0;B=X(aa,F)|0;L=Nb(B,((B|0)<0)<<31>>31,4)|0;B=pc(aa)|0;if((L|0)==0|((y|0)==0|(B|0)==0)){f[g>>2]=1;P=B;Q=L;R=1;S=Z;T=y;U=ba;break}e:do if(($|0)>0){A=(_|0)==0;v=g+44|0;H=L;s=0;f:while(1){if(!A){t=f[_+(s<<2)>>2]|0;if((t|0)==-1){ea=1;fa=o}else{ga=t;x=46}}else{ga=s;x=46}if((x|0)==46){x=0;ea=0;fa=B+(ga*548|0)|0}t=0;K=1;z=0;J=ea?Z:H;ha=0;while(1){ia=j[944+(ha<<1)>>1]|0;f[fa+(ha<<2)>>2]=J;ja=ia+(D&(ha|0)==0?G:0)|0;ia=Xb(p,1)|0;ph(y|0,0,ja<<2|0)|0;if(ia){ia=Xb(p,1)|0;ka=(Xb(p,1)|0)==0;la=y+((Xb(p,ka?1:8)|0)<<2)|0;f[la>>2]=1;if((ia|0)==1){ia=y+((Xb(p,8)|0)<<2)|0;f[ia>>2]=1}}else{ma=m;na=ma+76|0;do{f[ma>>2]=0;ma=ma+4|0}while((ma|0)<(na|0));ia=(Xb(p,4)|0)+4|0;if((ia|0)>19){x=68;break f}if((ia|0)>0){la=0;do{ka=Xb(p,3)|0;f[m+(h[5295+la>>0]<<2)>>2]=ka;la=la+1|0}while((la|0)!=(ia|0))}if(!(qc(l,7,m,19)|0)){x=70;break f}if(Xb(p,1)|0){ia=(Xb(p,((Xb(p,3)|0)<<1)+2|0)|0)+2|0;if((ia|0)>(ja|0)){x=70;break f}else oa=ia}else oa=ja;g:do if((ja|0)>0){ia=0;la=8;ka=oa;while(1){pa=ia;qa=ka;while(1){ra=qa;qa=qa+-1|0;if(!ra)break g;ra=f[v>>2]|0;if((ra|0)>31){Vb(p);sa=f[v>>2]|0}else sa=ra;ra=p;ta=rh(f[ra>>2]|0,f[ra+4>>2]|0,sa&63|0)|0;ra=ta&127;f[v>>2]=(h[l+(ra<<2)>>0]|0)+sa;ua=d[l+(ra<<2)+2>>1]|0;va=ua&65535;if((ua&65535)<16)break;ra=va+-16|0;ta=h[5317+ra>>0]|0;wa=(Xb(p,h[5314+ra>>0]|0)|0)+ta|0;if((wa+pa|0)>(ja|0)){x=70;break f}ta=ua<<16>>16==16?la:0;if((wa|0)>0){ra=wa;wa=pa;while(1){xa=wa+1|0;f[y+(wa<<2)>>2]=ta;if((ra|0)>1){ra=ra+-1|0;wa=xa}else{ya=xa;break}}}else ya=pa;if((ya|0)>=(ja|0))break g;else pa=ya}ia=pa+1|0;f[y+(pa<<2)>>2]=va;if((ia|0)>=(ja|0))break;else{la=ua<<16>>16==0?la:va;ka=qa}}}while(0)}if(f[a>>2]|0){x=73;break f}ka=qc(J,8,y,ja)|0;if(!ka){x=73;break f}h:do if(!K)za=0;else{switch(ha|0){case 0:case 4:{za=K;break h;break}default:{}}za=(b[J>>0]|0)==0&1}while(0);z=(h[J>>0]|0)+z|0;J=J+(ka<<2)|0;if((ha|0)<4){la=f[y>>2]|0;if((ja|0)>1){ia=1;wa=la;while(1){ra=f[y+(ia<<2)>>2]|0;ta=(ra|0)>(wa|0)?ra:wa;ia=ia+1|0;if((ia|0)==(ja|0)){Aa=ta;break}else wa=ta}}else Aa=la;Ba=Aa+t|0}else Ba=t;ha=ha+1|0;if((ha|0)>=5)break;else{t=Ba;K=za}}H=ea?H:J;f[fa+20>>2]=za;K=fa+28|0;f[K>>2]=0;if(((za|0)!=0?(t=j[(f[fa+8>>2]|0)+2>>1]|j[(f[fa+4>>2]|0)+2>>1]<<16|j[(f[fa+12>>2]|0)+2>>1]<<24,ha=fa+24|0,f[ha>>2]=t,(z|0)==0):0)?(wa=d[(f[fa>>2]|0)+2>>1]|0,(wa&65535)<256):0){f[K>>2]=1;f[ha>>2]=t|(wa&65535)<<8;f[fa+32>>2]=0}else x=87;if((x|0)==87?(x=0,wa=(Ba|0)<6,f[fa+32>>2]=wa&1,wa):0){wa=fa+4|0;t=fa+8|0;ha=fa+12|0;K=0;do{ja=fa+36+(K<<3)|0;ia=(f[fa>>2]|0)+(K<<2)|0;ka=j[ia>>1]|j[ia+2>>1]<<16;ia=ka>>>16;if((ia&65535)>255){f[ja>>2]=ka&255|256;f[fa+36+(K<<3)+4>>2]=ia}else{ta=fa+36+(K<<3)+4|0;ra=ka&255;f[ja>>2]=ra;ka=ia<<8;f[ta>>2]=ka;ia=K>>>ra;xa=f[wa>>2]|0;Ca=d[xa+(ia<<2)+2>>1]|0;Da=h[xa+(ia<<2)>>0]|0;xa=Da+ra|0;f[ja>>2]=xa;ra=(Ca&65535)<<16|ka;f[ta>>2]=ra;ka=ia>>>Da;Da=f[t>>2]|0;ia=d[Da+(ka<<2)+2>>1]|0;Ca=h[Da+(ka<<2)>>0]|0;Da=Ca+xa|0;f[ja>>2]=Da;xa=ia&65535|ra;f[ta>>2]=xa;ra=ka>>>Ca;Ca=f[ha>>2]|0;ka=d[Ca+(ra<<2)+2>>1]|0;f[ja>>2]=(h[Ca+(ra<<2)>>0]|0)+Da;f[ta>>2]=(ka&65535)<<24|xa}K=K+1|0}while((K|0)!=64)}s=s+1|0;if((s|0)>=($|0))break e}if((x|0)==68){f[g>>2]=3;P=B;Q=L;R=1;S=Z;T=y;U=ba;break d}else if((x|0)==70){f[g>>2]=3;Ea=g}else if((x|0)==73)Ea=g;f[Ea>>2]=3;P=B;Q=L;R=1;S=Z;T=y;U=ba;break d}while(0);f[g+160>>2]=f[n>>2];f[g+164>>2]=aa;f[g+168>>2]=B;f[g+172>>2]=L;P=B;Q=L;R=0;S=Z;T=y;U=ba}else{P=0;Q=0;R=1;S=Z;T=0;U=ba}}while(0);Gb(T);Gb(S);Gb(U);if(R){Gb(f[n>>2]|0);Gb(Q);Jb(P);C=3;x=105;break}if((M|0)>0){f[q>>2]=1<<M;if(!(rc(g+124|0,M)|0)){C=1;x=105;break}}else f[q>>2]=0;F=f[g+152>>2]|0;f[g+100>>2]=w;f[g+104>>2]=c;a=1<<F;f[g+156>>2]=(w+-1+a|0)>>>F;f[g+148>>2]=(F|0)==0?-1:a+-1|0;if(!r){a=xh(w|0,((w|0)<0)<<31>>31|0,c|0,((c|0)<0)<<31>>31|0)|0;F=Nb(a,I,4)|0;if(!F){C=1;x=105;break}if(!(Zb(g,F,w,c,c,0)|0)){N=F;break}a=(f[g+48>>2]|0)==0;if(a){Fa=a&1;Ga=F}else{N=F;break}}else{f[g+4>>2]=1;Fa=1;Ga=0}if(i|0)f[i>>2]=Ga;f[g+112>>2]=0;if(r){Ha=Fa;u=k;return Ha|0}Gb(f[g+160>>2]|0);Gb(f[g+172>>2]|0);Jb(f[g+168>>2]|0);Kb(g+124|0);Kb(g+136|0);ma=q;na=ma+56|0;do{f[ma>>2]=0;ma=ma+4|0}while((ma|0)<(na|0));Ha=Fa;u=k;return Ha|0}while(0);if((x|0)==105){f[g>>2]=C;N=0}Gb(N);Gb(f[g+160>>2]|0);Gb(f[g+172>>2]|0);Jb(f[g+168>>2]|0);Kb(g+124|0);Kb(g+136|0);ma=q;na=ma+56|0;do{f[ma>>2]=0;ma=ma+4|0}while((ma|0)<(na|0));Ha=0;u=k;return Ha|0}function pc(a){a=a|0;return Nb(a,((a|0)<0)<<31>>31,548)|0}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=u;u=u+1024|0;if((d|0)>=513){f=Nb(d,((d|0)<0)<<31>>31,2)|0;if(!f)g=0;else{h=sc(a,b,c,d,f)|0;Gb(f);g=h}}else g=sc(a,b,c,d,e)|0;u=e;return g|0}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=1<<b;d=Mb(c,((c|0)<0)<<31>>31,4)|0;f[a>>2]=d;if(!d){e=0;return e|0}f[a+4>>2]=32-b;f[a+8>>2]=b;e=1;return e|0}function sc(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;i=u;u=u+128|0;k=i+64|0;l=i;m=1<<c;n=k;o=n+64|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));n=(g|0)>0;do if(n){o=0;while(1){p=f[e+(o<<2)>>2]|0;if((p|0)>15){q=0;r=51;break}s=k+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+1;o=o+1|0;if((o|0)>=(g|0)){r=4;break}}if((r|0)==4){t=f[k>>2]|0;break}else if((r|0)==51){u=i;return q|0}}else t=0;while(0);if((t|0)==(g|0)){q=0;u=i;return q|0}f[l+4>>2]=0;t=f[k+4>>2]|0;if((t|0)>2){q=0;u=i;return q|0}f[l+8>>2]=t;o=f[k+8>>2]|0;if((o|0)>4){q=0;u=i;return q|0}s=o+t|0;f[l+12>>2]=s;o=f[k+12>>2]|0;if((o|0)>8){q=0;u=i;return q|0}p=o+s|0;f[l+16>>2]=p;s=f[k+16>>2]|0;if((s|0)>16){q=0;u=i;return q|0}o=s+p|0;f[l+20>>2]=o;p=f[k+20>>2]|0;if((p|0)>32){q=0;u=i;return q|0}s=p+o|0;f[l+24>>2]=s;o=f[k+24>>2]|0;if((o|0)>64){q=0;u=i;return q|0}p=o+s|0;f[l+28>>2]=p;s=f[k+28>>2]|0;if((s|0)>128){q=0;u=i;return q|0}o=s+p|0;f[l+32>>2]=o;p=f[k+32>>2]|0;if((p|0)>256){q=0;u=i;return q|0}s=p+o|0;f[l+36>>2]=s;o=f[k+36>>2]|0;if((o|0)>512){q=0;u=i;return q|0}p=o+s|0;f[l+40>>2]=p;s=f[k+40>>2]|0;if((s|0)>1024){q=0;u=i;return q|0}o=s+p|0;f[l+44>>2]=o;p=f[k+44>>2]|0;if((p|0)>2048){q=0;u=i;return q|0}s=p+o|0;f[l+48>>2]=s;o=f[k+48>>2]|0;if((o|0)>4096){q=0;u=i;return q|0}p=o+s|0;f[l+52>>2]=p;s=f[k+52>>2]|0;if((s|0)>8192){q=0;u=i;return q|0}o=s+p|0;f[l+56>>2]=o;p=f[k+56>>2]|0;if((p|0)>16384){q=0;u=i;return q|0}s=p+o|0;o=l+60|0;f[o>>2]=s;if(n){n=0;do{p=f[e+(n<<2)>>2]|0;if((p|0)>0){v=l+(p<<2)|0;p=f[v>>2]|0;f[v>>2]=p+1;d[h+(p<<1)>>1]=n}n=n+1|0}while((n|0)!=(g|0));w=f[o>>2]|0}else w=s;if((w|0)==1){s=(j[h>>1]|0)<<16;g=m;do{n=g;g=g+-1|0;l=a+(g<<2)|0;d[l>>1]=s;d[l+2>>1]=s>>>16}while((n|0)>1);q=m;u=i;return q|0}s=m+-1|0;a:do if((c|0)<1){x=1;y=1;z=0;A=0}else{g=2-t|0;if((g|0)<0){q=0;u=i;return q|0}n=0;l=2;e=1;p=0;v=t;B=k+4|0;C=g;g=3;while(1){if((v|0)>0){D=e&255;E=1<<e+-1;F=n;G=p;H=v;do{I=a+(F<<2)|0;J=(j[h+(G<<1)>>1]|0)<<16|D;K=m;do{K=K-l|0;L=I+(K<<2)|0;d[L>>1]=J;d[L+2>>1]=J>>>16}while((K|0)>0);M=E;while(1)if(!(M&F))break;else M=M>>>1;G=G+1|0;F=(M|0)==0?F:(M+-1&F)+M|0;K=H;H=H+-1|0}while((K|0)>1);f[B>>2]=H;N=F;O=G}else{N=n;O=p}E=e+1|0;if((e|0)>=(c|0)){x=C;y=g;z=N;A=O;break a}v=f[k+(E<<2)>>2]|0;D=C<<1;C=D-v|0;if((C|0)<0){q=0;break}else{n=N;l=l<<1;e=E;p=O;B=k+(E<<2)|0;g=D+g|0}}u=i;return q|0}while(0);O=c+1|0;do if((O|0)<16){N=a;M=-1;t=a;g=m;B=m;p=x;e=y;l=2;n=z;C=c;v=O;D=A;while(1){E=p<<1;e=E+e|0;K=k+(v<<2)|0;J=f[K>>2]|0;p=E-J|0;if((p|0)<0){q=0;r=51;break}b:do if((J|0)>0){E=v-c|0;I=E&255;L=1<<C;P=1<<E;if((v|0)<15){Q=M;R=t;S=g;T=B;U=n;V=D;W=J}else{E=v&255;X=M;Y=t;Z=g;_=B;$=n;aa=D;while(1){ba=$&s;if((ba|0)==(X|0)){ca=_;da=X;ea=Y;fa=Z}else{ga=Y+(_<<2)|0;b[a+(ba<<2)>>0]=E;d[a+(ba<<2)+2>>1]=((ga-N|0)>>>2)-ba;ca=P;da=ba;ea=ga;fa=P+Z|0}ga=ea+($>>>c<<2)|0;ba=(j[h+(aa<<1)>>1]|0)<<16|I;ha=ca;do{ha=ha-l|0;ia=ga+(ha<<2)|0;d[ia>>1]=ba;d[ia+2>>1]=ba>>>16}while((ha|0)>0);ja=L;while(1)if(!(ja&$))break;else ja=ja>>>1;ha=aa+1|0;ba=(ja|0)==0?$:(ja+-1&$)+ja|0;ga=f[K>>2]|0;f[K>>2]=ga+-1;if((ga|0)>1){X=da;Y=ea;Z=fa;_=ca;$=ba;aa=ha}else{ka=ca;la=da;ma=ea;na=fa;oa=ba;pa=ha;break b}}}while(1){aa=U&s;if((aa|0)==(Q|0)){qa=T;ra=Q;sa=R;ta=S}else{$=R+(T<<2)|0;_=P-W|0;c:do if((_|0)<1)ua=v;else{Z=v;Y=_;while(1){X=Z+1|0;if((X|0)>=15){ua=X;break c}Y=(Y<<1)-(f[k+(X<<2)>>2]|0)|0;if((Y|0)<1){ua=X;break}else Z=X}}while(0);_=1<<ua-c;b[a+(aa<<2)>>0]=ua;d[a+(aa<<2)+2>>1]=(($-N|0)>>>2)-aa;qa=_;ra=aa;sa=$;ta=_+S|0}_=sa+(U>>>c<<2)|0;Z=(j[h+(V<<1)>>1]|0)<<16|I;Y=qa;do{Y=Y-l|0;X=_+(Y<<2)|0;d[X>>1]=Z;d[X+2>>1]=Z>>>16}while((Y|0)>0);va=L;while(1)if(!(va&U))break;else va=va>>>1;Y=V+1|0;Z=(va|0)==0?U:(va+-1&U)+va|0;_=f[K>>2]|0;W=_+-1|0;f[K>>2]=W;if((_|0)<=1){ka=qa;la=ra;ma=sa;na=ta;oa=Z;pa=Y;break}else{Q=ra;R=sa;S=ta;T=qa;U=Z;V=Y}}}else{ka=B;la=M;ma=t;na=g;oa=n;pa=D}while(0);K=v+1|0;if((K|0)>=16){r=49;break}else{J=v;M=la;t=ma;g=na;B=ka;l=l<<1;n=oa;v=K;D=pa;C=J}}if((r|0)==49){wa=na;xa=e;ya=f[o>>2]|0;break}else if((r|0)==51){u=i;return q|0}}else{wa=m;xa=y;ya=w}while(0);q=(xa|0)==((ya<<1)+-1|0)?wa:0;u=i;return q|0}function tc(a,b){a=a|0;b=b|0;return -16777216}function uc(a,b){a=a|0;b=b|0;return a|0}function vc(a,b){a=a|0;b=b|0;return f[b>>2]|0}function wc(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function xc(a,b){a=a|0;b=b|0;return f[b+-4>>2]|0}function yc(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[b>>2]|0;d=f[b+4>>2]|0;b=((d^a)>>>1&2139062143)+(d&a)|0;return ((b^c)>>>1&2139062143)+(b&c)|0}function zc(a,b){a=a|0;b=b|0;var c=0;c=f[b+-4>>2]|0;return ((c^a)>>>1&2139062143)+(c&a)|0}function Ac(a,b){a=a|0;b=b|0;var c=0;c=f[b>>2]|0;return ((c^a)>>>1&2139062143)+(c&a)|0}function Bc(a,b){a=a|0;b=b|0;var c=0;a=f[b+-4>>2]|0;c=f[b>>2]|0;return ((c^a)>>>1&2139062143)+(c&a)|0}function Cc(a,b){a=a|0;b=b|0;var c=0;a=f[b>>2]|0;c=f[b+4>>2]|0;return ((c^a)>>>1&2139062143)+(c&a)|0}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b+-4>>2]|0;d=f[b>>2]|0;e=f[b+4>>2]|0;b=((c^a)>>>1&2139062143)+(c&a)|0;a=((e^d)>>>1&2139062143)+(e&d)|0;return ((a^b)>>>1&2139062143)+(a&b)|0}function Ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;c=f[b>>2]|0;d=f[b+-4>>2]|0;b=d>>>24;e=(a>>>24)-b|0;g=(c>>>24)-b|0;b=d>>>16&255;h=(a>>>16&255)-b|0;i=(c>>>16&255)-b|0;b=d>>>8&255;j=(a>>>8&255)-b|0;k=(c>>>8&255)-b|0;b=d&255;d=(a&255)-b|0;l=(c&255)-b|0;return ((((d|0)>-1?d:0-d|0)-((l|0)>-1?l:0-l|0)-((g|0)>-1?g:0-g|0)+((e|0)>-1?e:0-e|0)-((k|0)>-1?k:0-k|0)+((j|0)>-1?j:0-j|0)-((i|0)>-1?i:0-i|0)+((h|0)>-1?h:0-h|0)|0)<1?c:a)|0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;c=f[b>>2]|0;d=f[b+-4>>2]|0;b=(c>>>24)+(a>>>24)-(d>>>24)|0;e=(c>>>16&255)+(a>>>16&255)-(d>>>16&255)|0;g=(c>>>8&255)+(a>>>8&255)-(d>>>8&255)|0;h=(c&255)+(a&255)-(d&255)|0;return (b>>>0<256?b:b>>>24^255)<<24|(h>>>0<256?h:h>>>24^255)|(e>>>0<256?e:e>>>24^255)<<16|(g>>>0<256?g:g>>>24^255)<<8|0}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;c=f[b>>2]|0;d=f[b+-4>>2]|0;b=((c^a)>>>1&2139062143)+(c&a)|0;a=b>>>24;c=((a-(d>>>24)|0)/2|0)+a|0;a=b>>>16&255;e=((a-(d>>>16&255)|0)/2|0)+a|0;a=b>>>8&255;g=((a-(d>>>8&255)|0)/2|0)+a|0;a=b&255;b=((a-(d&255)|0)/2|0)+a|0;return (c>>>0<256?c:c>>>24^255)<<24|(b>>>0<256?b:b>>>24^255)|(e>>>0<256?e:e>>>24^255)<<16|(g>>>0<256?g:g>>>24^255)<<8|0}function Hc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((c|0)>0)e=0;else return;do{b=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=b+-16777216&-16711936|b&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Ic(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;if((c|0)<=0)return;b=0;e=f[d+-4>>2]|0;do{g=f[a+(b<<2)>>2]|0;e=(g&-16711936)+(e&-16711936)&-16711936|(g&16711935)+(e&16711935)&16711935;f[d+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(c|0));return}function Jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((c|0)>0)e=0;else return;do{g=f[b+(e<<2)>>2]|0;h=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=(h&-16711936)+(g&-16711936)&-16711936|(h&16711935)+(g&16711935)&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Kc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((c|0)>0)e=0;else return;do{g=f[b+(e<<2)+4>>2]|0;h=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=(h&-16711936)+(g&-16711936)&-16711936|(h&16711935)+(g&16711935)&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Lc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((c|0)>0)e=0;else return;do{g=f[b+(e<<2)+-4>>2]|0;h=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=(h&-16711936)+(g&-16711936)&-16711936|(h&16711935)+(g&16711935)&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Mc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=b+(e<<2)|0;i=f[h>>2]|0;j=f[h+4>>2]|0;h=((j^g)>>>1&2139062143)+(j&g)|0;j=((h^i)>>>1&2139062143)+(h&i)|0;i=f[a+(e<<2)>>2]|0;g=(j&-16711936)+(i&-16711936)&-16711936|(j&16711935)+(i&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=f[b+(e<<2)+-4>>2]|0;i=((h^g)>>>1&2139062143)+(h&g)|0;h=f[a+(e<<2)>>2]|0;g=(i&-16711936)+(h&-16711936)&-16711936|(i&16711935)+(h&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=f[b+(e<<2)>>2]|0;i=((h^g)>>>1&2139062143)+(h&g)|0;h=f[a+(e<<2)>>2]|0;g=(i&-16711936)+(h&-16711936)&-16711936|(i&16711935)+(h&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)>0)e=0;else return;do{g=b+(e<<2)|0;h=f[g+-4>>2]|0;i=f[g>>2]|0;g=((i^h)>>>1&2139062143)+(i&h)|0;h=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=(g&-16711936)+(h&-16711936)&-16711936|(g&16711935)+(h&16711935)&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;if((c|0)>0)e=0;else return;do{g=b+(e<<2)|0;h=f[g>>2]|0;i=f[g+4>>2]|0;g=((i^h)>>>1&2139062143)+(i&h)|0;h=f[a+(e<<2)>>2]|0;f[d+(e<<2)>>2]=(g&-16711936)+(h&-16711936)&-16711936|(g&16711935)+(h&16711935)&16711935;e=e+1|0}while((e|0)!=(c|0));return}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=b+(e<<2)|0;i=f[h+-4>>2]|0;j=f[h>>2]|0;k=f[h+4>>2]|0;h=((i^g)>>>1&2139062143)+(i&g)|0;i=((k^j)>>>1&2139062143)+(k&j)|0;j=((i^h)>>>1&2139062143)+(i&h)|0;h=f[a+(e<<2)>>2]|0;g=(j&-16711936)+(h&-16711936)&-16711936|(j&16711935)+(h&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=b+(e<<2)|0;i=f[h>>2]|0;j=f[h+-4>>2]|0;h=j>>>24;k=(g>>>24)-h|0;l=(i>>>24)-h|0;h=j>>>16&255;m=(g>>>16&255)-h|0;n=(i>>>16&255)-h|0;h=j>>>8&255;o=(g>>>8&255)-h|0;p=(i>>>8&255)-h|0;h=j&255;j=(g&255)-h|0;q=(i&255)-h|0;h=(((j|0)>-1?j:0-j|0)-((q|0)>-1?q:0-q|0)-((l|0)>-1?l:0-l|0)+((k|0)>-1?k:0-k|0)-((p|0)>-1?p:0-p|0)+((o|0)>-1?o:0-o|0)-((n|0)>-1?n:0-n|0)+((m|0)>-1?m:0-m|0)|0)<1?i:g;i=f[a+(e<<2)>>2]|0;g=(h&-16711936)+(i&-16711936)&-16711936|(h&16711935)+(i&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=b+(e<<2)|0;i=f[h>>2]|0;j=f[h+-4>>2]|0;h=(i>>>24)+(g>>>24)-(j>>>24)|0;k=(i>>>16&255)+(g>>>16&255)-(j>>>16&255)|0;l=(i>>>8&255)+(g>>>8&255)-(j>>>8&255)|0;m=(i&255)+(g&255)-(j&255)|0;j=(h>>>0<256?h:h>>>24^255)<<24|(m>>>0<256?m:m>>>24^255)|(k>>>0<256?k:k>>>24^255)<<16|(l>>>0<256?l:l>>>24^255)<<8;l=f[a+(e<<2)>>2]|0;g=(j&-16711936)+(l&-16711936)&-16711936|(j&16711935)+(l&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((c|0)<=0)return;e=0;g=f[d+-4>>2]|0;do{h=b+(e<<2)|0;i=f[h>>2]|0;j=f[h+-4>>2]|0;h=((i^g)>>>1&2139062143)+(i&g)|0;i=h>>>24;k=((i-(j>>>24)|0)/2|0)+i|0;i=h>>>16&255;l=((i-(j>>>16&255)|0)/2|0)+i|0;i=h>>>8&255;m=((i-(j>>>8&255)|0)/2|0)+i|0;i=h&255;h=((i-(j&255)|0)/2|0)+i|0;i=(k>>>0<256?k:k>>>24^255)<<24|(h>>>0<256?h:h>>>24^255)|(l>>>0<256?l:l>>>24^255)<<16|(m>>>0<256?m:m>>>24^255)<<8;m=f[a+(e<<2)>>2]|0;g=(i&-16711936)+(m&-16711936)&-16711936|(i&16711935)+(m&16711935)&16711935;f[d+(e<<2)>>2]=g;e=e+1|0}while((e|0)!=(c|0));return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if((b|0)>0)d=0;else return;do{e=f[a+(d<<2)>>2]|0;g=e>>>8&255;f[c+(d<<2)>>2]=(g<<16|g)+(e&16711935)&16711935|e&-16711936;d=d+1|0}while((d|0)!=(b|0));return}function Wc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if((d|0)<=0)return;g=b[a>>0]|0;h=b[a+1>>0]|0;i=b[a+2>>0]|0;a=0;do{j=f[c+(a<<2)>>2]|0;k=j<<16>>24;l=((X(k,g)|0)>>5)+(j>>>16)|0;m=l<<16&16711680|j&-16711936|((X(h,k)|0)>>>5)+j+((X(l<<24>>24,i)|0)>>>5)&255;f[e+(a<<2)>>2]=m;a=a+1|0}while((a|0)!=(d|0));return}function Xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+(c<<2)|0;if((c|0)>0){g=d;h=a}else return;while(1){a=f[h>>2]|0;h=h+4|0;b[g>>0]=a>>>16;b[g+1>>0]=a>>>8;b[g+2>>0]=a;b[g+3>>0]=a>>>24;if(h>>>0>=e>>>0)break;else g=g+4|0}return}function Yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+(c<<2)|0;if((c|0)>0){g=d;h=a}else return;while(1){a=f[h>>2]|0;h=h+4|0;b[g>>0]=a>>>16;b[g+1>>0]=a>>>8;b[g+2>>0]=a;if(h>>>0>=e>>>0)break;else g=g+3|0}return}function Zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+(c<<2)|0;if((c|0)>0){g=d;h=a}else return;while(1){a=f[h>>2]|0;h=h+4|0;b[g>>0]=a;b[g+1>>0]=a>>>8;b[g+2>>0]=a>>>16;if(h>>>0>=e>>>0)break;else g=g+3|0}return}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+(c<<2)|0;if((c|0)>0){g=d;h=a}else return;while(1){a=f[h>>2]|0;h=h+4|0;b[g>>0]=a>>>16&240|a>>>12&15;b[g+1>>0]=a&240|a>>>28;if(h>>>0>=e>>>0)break;else g=g+2|0}return}function $c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=a+(c<<2)|0;if((c|0)>0){g=d;h=a}else return;while(1){a=f[h>>2]|0;h=h+4|0;b[g>>0]=a>>>16&248|a>>>13&7;b[g+1>>0]=a>>>5&224|a>>>3&31;if(h>>>0>=e>>>0)break;else g=g+2|0}return}function ad(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;if((d|0)<(e|0)&(g|0)>0){h=d;i=a;j=c}else return;while(1){c=0;a=j;d=i;i=i+(g<<2)|0;while(1){f[a>>2]=f[b+(((f[d>>2]|0)>>>8&255)<<2)>>2];c=c+1|0;if((c|0)==(g|0))break;else{a=a+4|0;d=d+4|0}}h=h+1|0;if((h|0)==(e|0))break;else j=j+(g<<2)|0}return}function bd(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0;if((e|0)<(g|0)&(i|0)>0){j=e;k=a;l=d}else return;while(1){d=0;a=l;e=k;k=k+i|0;while(1){b[a>>0]=(f[c+((h[e>>0]|0)<<2)>>2]|0)>>>8;d=d+1|0;if((d|0)==(i|0))break;else{a=a+1|0;e=e+1|0}}j=j+1|0;if((j|0)==(g|0))break;else l=l+i|0}return}function cd(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+40>>2]|0;if((f[a+12>>2]|0)<1?1:(f[a+16>>2]|0)<1){c=0;return c|0}d=vb[f[b+44>>2]&31](a,b)|0;e=f[b+48>>2]|0;if(e|0)lb[e&15](a,b,d)|0;a=b+16|0;f[a>>2]=(f[a>>2]|0)+d;c=1;return c|0}function dd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=f[a+40>>2]|0;c=f[f[b>>2]>>2]|0;d=c>>>0<11;e=c+-1|0;if(e>>>0<12?(2077>>>(e&65535)&1)!=0:0)g=1;else g=(c+-7|0)>>>0<4;e=b+40|0;h=b+44|0;i=b+48|0;j=b+52|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;if(!(fd(f[b+20>>2]|0,a,g?11:12)|0)){k=0;return k|0}if((c+-7|0)>>>0<4&g)gd();if(!(f[a+92>>2]|0)){do if(d){pd();f[h>>2]=19;if(f[a+56>>2]|0){l=a+12|0;m=f[l>>2]|0;n=m+1>>1;o=Nb(1,0,(n<<1)+m|0)|0;f[e>>2]=o;if(!o){k=0;return k|0}else{f[b+4>>2]=o;m=o+(f[l>>2]|0)|0;f[b+8>>2]=m;f[b+12>>2]=m+n;f[h>>2]=20;gd();break}}}else f[h>>2]=21;while(0);if(!g){k=1;return k|0}switch(c|0){case 5:case 10:{p=10;break}default:p=d?7:6}f[i>>2]=p;if(!d){k=1;return k|0}Ub();k=1;return k|0}p=f[b>>2]|0;c=f[p>>2]|0;g=c+-1|0;n=g>>>0<12;if(!d){if(n?(2077>>>(g&65535)&1)!=0:0)q=1;else q=(c+-7|0)>>>0<4;d=f[a+96>>2]|0;m=f[a+100>>2]|0;l=d+1>>1;o=m+1>>1;r=a+12|0;s=(f[r>>2]|0)+1>>1;t=a+16|0;u=(f[t>>2]|0)+1>>1;v=d<<1;w=l<<2;x=(w+v<<2)+(q?d<<3:0)|0;y=Nb(1,0,x+(q?367:283)|0)|0;f[e>>2]=y;if(!y){k=0;return k|0}z=y+x+31&-32;f[b+24>>2]=z;x=b+28|0;f[x>>2]=z+84;A=b+32|0;f[A>>2]=z+168;B=b+36|0;f[B>>2]=q?z+252|0:0;hd(z,f[r>>2]|0,f[t>>2]|0,f[p+16>>2]|0,d,m,f[p+32>>2]|0,1,y);z=y+(v<<2)|0;hd(f[x>>2]|0,s,u,f[p+20>>2]|0,l,o,f[p+36>>2]|0,1,z);hd(f[A>>2]|0,s,u,f[p+24>>2]|0,l,o,f[p+40>>2]|0,1,z+(l<<1<<2)|0);f[h>>2]=18;if(!q){k=1;return k|0}hd(f[B>>2]|0,f[r>>2]|0,f[t>>2]|0,f[p+28>>2]|0,d,m,f[p+44>>2]|0,1,z+(w<<2)|0);f[i>>2]=5;Ub();k=1;return k|0}if(n?(2077>>>(g&65535)&1)!=0:0)C=1;else C=(c+-7|0)>>>0<4;c=f[a+96>>2]|0;g=f[a+100>>2]|0;n=a+12|0;w=(f[n>>2]|0)+1>>1;z=a+16|0;a=(f[z>>2]|0)+1>>1;p=c<<1;m=c*6|0;d=c*3|0;t=c<<2;r=C?c<<3:m;B=(r<<2)+(C?t:d)|0;q=Nb(1,0,B+(C?367:283)|0)|0;f[e>>2]=q;if(!q){k=0;return k|0}e=q+(r<<2)|0;r=q+B+31&-32;f[b+24>>2]=r;B=b+28|0;f[B>>2]=r+84;l=b+32|0;f[l>>2]=r+168;o=b+36|0;f[o>>2]=C?r+252|0:0;hd(r,f[n>>2]|0,f[z>>2]|0,e,c,g,0,1,q);hd(f[B>>2]|0,w,a,e+c|0,c,g,0,1,q+(p<<2)|0);hd(f[l>>2]|0,w,a,e+p|0,c,g,0,1,q+(t<<2)|0);f[h>>2]=17;jd();if(!C){k=1;return k|0}hd(f[o>>2]|0,f[n>>2]|0,f[z>>2]|0,e+d|0,c,g,0,1,q+(m<<2)|0);f[i>>2]=4;switch(f[f[b>>2]>>2]|0){case 10:case 5:{D=8;break}default:D=9}f[j>>2]=D;Ub();k=1;return k|0}function ed(a){a=a|0;var b=0;b=(f[a+40>>2]|0)+40|0;Gb(f[b>>2]|0);f[b>>2]=0;return}function fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;d=u;u=u+16|0;e=d+4|0;g=d;h=f[b>>2]|0;i=f[b+4>>2]|0;j=(a|0)!=0;if(j){k=(f[a+8>>2]|0)>0;f[b+72>>2]=k&1;if(k){k=f[a+20>>2]|0;l=f[a+24>>2]|0;m=f[a+12>>2]|0;n=f[a+16>>2]|0;o=c>>>0<11;c=o?m:m&-2;m=o?n:n&-2;if((m+l|0)>(i|0)|((c+k|0)>(h|0)|((l|0)<1|((k|0)<1|(m|c|0)<0)))){p=0;u=d;return p|0}else{q=l;r=k;s=m;t=c}}else{q=i;r=h;s=0;t=0}}else{f[b+72>>2]=0;q=i;r=h;s=0;t=0}f[b+76>>2]=t;f[b+84>>2]=s;f[b+80>>2]=r+t;f[b+88>>2]=q+s;f[b+12>>2]=r;f[b+16>>2]=q;if(j){j=(f[a+28>>2]|0)>0;s=b+92|0;f[s>>2]=j&1;do if(j){f[e>>2]=f[a+32>>2];f[g>>2]=f[a+36>>2];if(be(r,q,e,g)|0){f[b+96>>2]=f[e>>2];f[b+100>>2]=f[g>>2];break}p=0;u=d;return p|0}while(0);g=b+68|0;f[g>>2]=(f[a>>2]|0)!=0&1;v=(f[a+4>>2]|0)==0;w=s;x=g}else{g=b+92|0;f[g>>2]=0;s=b+68|0;f[s>>2]=0;v=1;w=g;x=s}s=b+56|0;f[s>>2]=v&1;if(!(f[w>>2]|0)){p=1;u=d;return p|0}if((f[b+96>>2]|0)<((h*3|0)/4|0|0))y=(f[b+100>>2]|0)<((i*3|0)/4|0|0);else y=0;f[x>>2]=y&1;f[s>>2]=0;p=1;u=d;return p|0}function gd(){var a=0;if(qh(12416)|0)return;a=f[2893]|0;if((f[36]|0)!=(a|0)){f[3023]=1;f[3025]=2;f[3029]=1;f[3030]=2;f[3022]=3;f[3024]=4;f[3026]=5;f[3027]=6;f[3028]=7;f[3031]=5;f[3032]=6}f[36]=a;Ch(12416)|0;return}function hd(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;k=(b|0)<(e|0);f[a>>2]=k&1;l=(c|0)<(g|0);f[a+4>>2]=l&1;f[a+44>>2]=b;f[a+48>>2]=c;f[a+52>>2]=e;f[a+56>>2]=g;f[a+60>>2]=0;f[a+64>>2]=0;f[a+68>>2]=d;f[a+72>>2]=h;f[a+8>>2]=i;h=k?e+-1|0:b;f[a+36>>2]=h;d=k?b+-1|0:e;f[a+40>>2]=d;if(!k){k=vh(0,1,d|0,((d|0)<0)<<31>>31|0)|0;f[a+12>>2]=k}k=l<<31>>31;d=k+c|0;f[a+28>>2]=d;c=k+g|0;f[a+32>>2]=c;f[a+24>>2]=l?c:d;if(l)m=h;else{l=X(d,h)|0;h=vh(0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;f[a+20>>2]=(h|0)==(h|0)&(I|0)==0?h:0;m=c}c=vh(0,1,m|0,((m|0)<0)<<31>>31|0)|0;f[a+16>>2]=c;f[a+76>>2]=j;c=j+((X(i,e)|0)<<2)|0;f[a+80>>2]=c;ph(j|0,0,X(e<<3,i)|0)|0;Rd();return}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;c=f[a+16>>2]|0;d=c+1>>1;if((c|0)<=0){e=0;return e|0}g=b+24|0;h=a+20|0;i=a+32|0;j=b+28|0;k=b+16|0;l=b+32|0;m=a+24|0;n=a+36|0;o=a+28|0;a=0;p=0;q=0;r=f[g>>2]|0;while(1){s=f[i>>2]|0;q=(Ed(r,c-q|0,(f[h>>2]|0)+(X(s,q)|0)|0,s)|0)+q|0;s=d-a|0;if(!(Qd(f[j>>2]|0,s)|0))t=a;else{u=f[n>>2]|0;v=Ed(f[j>>2]|0,s,(f[m>>2]|0)+(X(u,a)|0)|0,u)|0;u=f[n>>2]|0;Ed(f[l>>2]|0,s,(f[o>>2]|0)+(X(u,a)|0)|0,u)|0;t=v+a|0}v=f[b>>2]|0;u=f[12140+(f[v>>2]<<2)>>2]|0;s=v+20|0;w=f[g>>2]|0;a:do if((f[w+64>>2]|0)<(f[w+56>>2]|0)){x=(f[v+16>>2]|0)+(X(f[s>>2]|0,(f[k>>2]|0)+p|0)|0)|0;y=0;z=w;while(1){if((f[z+24>>2]|0)>=1){A=y;B=z;break a}C=f[j>>2]|0;if((f[C+64>>2]|0)>=(f[C+56>>2]|0)){A=y;B=z;break a}if((f[C+24>>2]|0)>=1){A=y;B=z;break a}Hd(z);Hd(f[j>>2]|0);Hd(f[l>>2]|0);C=f[g>>2]|0;mb[u&31](f[C+68>>2]|0,f[(f[j>>2]|0)+68>>2]|0,f[(f[l>>2]|0)+68>>2]|0,x,f[C+52>>2]|0);C=y+1|0;D=f[g>>2]|0;if((f[D+64>>2]|0)<(f[D+56>>2]|0)){x=x+(f[s>>2]|0)|0;y=C;z=D}else{A=C;B=D;break}}}else{A=0;B=w}while(0);w=A+p|0;if((c|0)<=(q|0)){e=w;break}else{a=t;p=w;r=B}}return e|0}function jd(){var a=0;if(qh(12360)|0)return;a=f[2893]|0;if((f[34]|0)!=(a|0)){f[3036]=5;f[3038]=6;f[3035]=7;f[3037]=8;f[3039]=9;f[3040]=10;f[3041]=11;f[3042]=5;f[3043]=6;f[3044]=9;f[3045]=10}f[34]=a;Ch(12360)|0;return}function kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+104|0;e=f[d>>2]|0;if(!e)return 0;g=f[b+36>>2]|0;h=(f[b+16>>2]|0)+c|0;if((c|0)<=0)return 0;i=g+60|0;j=a+8|0;k=a+16|0;l=b+52|0;m=c;c=e;while(1){e=f[i>>2]|0;n=f[j>>2]|0;o=f[a>>2]|0;Ed(g,n-e+(f[k>>2]|0)|0,c+(X(o,e-n|0)|0)|0,o)|0;o=m-(lb[f[l>>2]&15](b,h-m|0,m)|0)|0;if((o|0)<=0)break;m=o;c=f[d>>2]|0}return 0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=f[a>>2]|0;e=d+20|0;g=f[e>>2]|0;h=(f[d+16>>2]|0)+(X(g,b)|0)|0;b=f[d>>2]|0;d=(b|0)==4|(b|0)==9;i=d&1;j=(b+-7|0)>>>0<4;b=a+36|0;a=f[b>>2]|0;k=f[a+52>>2]|0;if((f[a+64>>2]|0)>=(f[a+56>>2]|0)){l=0;return l|0}m=0;n=0;o=h+(d?0:3)|0;d=a;a=g;while(1){if(!((n|0)<(c|0)?(f[d+24>>2]|0)<1:0)){p=m;q=n;r=a;break}Hd(d);g=pb[f[2886]&7](f[(f[b>>2]|0)+68>>2]|0,0,k,1,o,0)|0|m;s=f[e>>2]|0;t=n+1|0;d=f[b>>2]|0;if((f[d+64>>2]|0)>=(f[d+56>>2]|0)){p=g;q=t;r=s;break}else{m=g;n=t;o=o+s|0;a=s}}if(!(j&(p|0)!=0)){l=q;return l|0}mb[f[2884]&31](h,i,k,q,r);l=q;return l|0}function md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=f[a>>2]|0;g=e+20|0;i=(f[e+16>>2]|0)+(X(f[g>>2]|0,c)|0)|0;c=a+36|0;a=f[c>>2]|0;j=f[a+52>>2]|0;k=((f[e>>2]|0)+-7|0)>>>0<4;if((f[a+64>>2]|0)>=(f[a+56>>2]|0)){l=0;return l|0}if((j|0)<=0){e=0;m=a;while(1){if(!((e|0)<(d|0)?(f[m+24>>2]|0)<1:0)){l=e;n=12;break}Hd(m);o=e+1|0;m=f[c>>2]|0;if((f[m+64>>2]|0)>=(f[m+56>>2]|0)){l=o;n=12;break}else e=o}if((n|0)==12)return l|0}n=15;e=0;m=i+1|0;o=a;while(1){if(!((e|0)<(d|0)?(f[o+24>>2]|0)<1:0)){p=n;q=e;break}Hd(o);a=0;r=n;do{s=(h[(f[(f[c>>2]|0)+68>>2]|0)+a>>0]|0)>>>4;t=m+(a<<1)|0;b[t>>0]=b[t>>0]&-16&255|s;r=s&r;a=a+1|0}while((a|0)!=(j|0));a=e+1|0;o=f[c>>2]|0;if((f[o+64>>2]|0)>=(f[o+56>>2]|0)){p=r;q=a;break}else{n=r;e=a;m=m+(f[g>>2]|0)|0}}if(!(k&(p|0)!=15)){l=q;return l|0}wb[f[2885]&31](i,j,q,f[g>>2]|0);l=q;return l|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=f[a+16>>2]|0;d=c+1>>1;e=f[b+24>>2]|0;g=f[f[b>>2]>>2]|0;h=g+-1|0;if(h>>>0<12){if((g+-7|0)>>>0<4|(2077>>>(h&65535)&1)!=0)i=4}else if((g+-7|0)>>>0<4)i=4;if((i|0)==4?(i=f[a+104>>2]|0,i|0):0)Gd(f[a+20>>2]|0,f[a+32>>2]|0,i,f[a>>2]|0,f[a+12>>2]|0,c,0);i=f[a+32>>2]|0;if((c|0)>0){g=0;h=c;c=f[a+20>>2]|0;while(1){j=Ed(e,h,c,i)|0;c=c+(X(j,i)|0)|0;h=h-j|0;j=(Fd(e)|0)+g|0;if((h|0)<=0){k=j;break}else g=j}}else k=0;g=a+36|0;h=f[g>>2]|0;e=f[b+28>>2]|0;if((d|0)<=0)return k|0;i=d;c=f[a+24>>2]|0;do{j=Ed(e,i,c,h)|0;c=c+(X(j,h)|0)|0;i=i-j|0;Fd(e)|0}while((i|0)>0);i=f[g>>2]|0;g=f[b+32>>2]|0;b=d;d=f[a+28>>2]|0;do{a=Ed(g,b,d,i)|0;d=d+(X(a,i)|0)|0;b=b-a|0;Fd(g)|0}while((b|0)>0);return k|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=f[b>>2]|0;e=f[d+28>>2]|0;g=f[b+16>>2]|0;h=d+44|0;i=f[h>>2]|0;j=e+(X(i,g)|0)|0;k=f[a+104>>2]|0;if(!k){if(!e)return 0;e=f[a+96>>2]|0;if((c|0)>0){l=j;m=0}else return 0;while(1){ph(l|0,-1,e|0)|0;m=m+1|0;if((m|0)==(c|0))break;else l=l+i|0}return 0}i=f[d+16>>2]|0;l=d+32|0;d=f[l>>2]|0;c=f[a>>2]|0;m=f[a+16>>2]|0;a=b+36|0;b=f[a>>2]|0;if((m|0)>0){n=0;o=m;p=k}else return 0;do{k=Ed(b,o,p,c)|0;p=p+(X(k,c)|0)|0;o=o-k|0;n=(Fd(b)|0)+n|0}while((o|0)>0);if((n|0)<=0)return 0;o=i+(X(d,g)|0)|0;Gd(o,f[l>>2]|0,j,f[h>>2]|0,f[(f[a>>2]|0)+52>>2]|0,n,1);return 0}function pd(){var a=0;if(qh(12332)|0)return;a=f[2893]|0;if((f[33]|0)!=(a|0)){f[3048]=12;f[3049]=13;f[3050]=14;f[3051]=15;f[3052]=16;f[3053]=17;f[3054]=18;f[3055]=13;f[3056]=15;f[3057]=16;f[3058]=17}f[33]=a;Ch(12332)|0;return}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;b=f[c+20>>2]|0;d=(f[c+16>>2]|0)+(X(b,f[a+8>>2]|0)|0)|0;e=a+16|0;wd(f[a+20>>2]|0,f[a+32>>2]|0,f[a+24>>2]|0,f[a+28>>2]|0,f[a+36>>2]|0,d,b,f[a+12>>2]|0,f[e>>2]|0,f[12192+(f[c>>2]<<2)>>2]|0);return f[e>>2]|0}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;c=f[a+16>>2]|0;d=f[b>>2]|0;e=f[a+8>>2]|0;g=d+20|0;h=f[g>>2]|0;i=(f[d+16>>2]|0)+(X(h,e)|0)|0;j=f[12088+(f[d>>2]<<2)>>2]|0;d=f[a+20>>2]|0;k=f[a+24>>2]|0;l=f[a+28>>2]|0;m=b+8|0;n=b+12|0;o=e+c|0;p=f[a+12>>2]|0;q=(p+1|0)/2|0;if(!e){sb[j&7](d,0,k,l,k,l,i,0,p);r=c;s=2}else{sb[j&7](f[b+4>>2]|0,d,f[m>>2]|0,f[n>>2]|0,k,l,i+(0-h)|0,i,p);r=c+1|0;s=e+2|0}e=a+32|0;c=f[e>>2]|0;if((s|0)<(o|0)){h=a+36|0;t=i;u=d;v=l;w=k;x=c;y=s;while(1){s=f[h>>2]|0;z=w+s|0;A=v+s|0;s=f[g>>2]|0;B=t+(s<<1)|0;C=u+(x<<1)|0;sb[j&7](C+(0-x)|0,C,w,v,z,A,B+(0-s)|0,B,p);y=y+2|0;s=f[e>>2]|0;if((y|0)>=(o|0)){D=B;E=C;F=A;G=z;H=s;break}else{t=B;u=C;v=A;w=z;x=s}}}else{D=i;E=d;F=l;G=k;H=c}c=E+H|0;if(((f[a+84>>2]|0)+o|0)<(f[a+88>>2]|0)){sh(f[b+4>>2]|0,c|0,p|0)|0;sh(f[m>>2]|0,G|0,q|0)|0;sh(f[n>>2]|0,F|0,q|0)|0;I=r+-1|0;return I|0}if(o&1|0){I=r;return I|0}sb[j&7](c,0,G,F,G,F,D+(f[g>>2]|0)|0,0,p);I=r;return I|0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=f[b>>2]|0;b=f[a+8>>2]|0;d=c+32|0;e=(f[c+16>>2]|0)+(X(f[d>>2]|0,b)|0)|0;g=b>>1;b=c+36|0;h=(f[c+20>>2]|0)+(X(f[b>>2]|0,g)|0)|0;i=c+40|0;j=(f[c+24>>2]|0)+(X(f[i>>2]|0,g)|0)|0;g=f[a+12>>2]|0;c=a+16|0;k=f[c>>2]|0;l=(g+1|0)/2|0;m=(k+1|0)/2|0;n=(k|0)>0;if(!n){o=f[c>>2]|0;return o|0}p=a+20|0;q=a+32|0;sh(e|0,f[p>>2]|0,g|0)|0;if((k|0)!=1){r=1;do{s=e+(X(f[d>>2]|0,r)|0)|0;sh(s|0,(f[p>>2]|0)+(X(f[q>>2]|0,r)|0)|0,g|0)|0;r=r+1|0}while((r|0)!=(k|0))}if(!n){o=f[c>>2]|0;return o|0}n=a+24|0;k=a+36|0;r=a+28|0;a=0;do{g=h+(X(f[b>>2]|0,a)|0)|0;sh(g|0,(f[n>>2]|0)+(X(f[k>>2]|0,a)|0)|0,l|0)|0;g=j+(X(f[i>>2]|0,a)|0)|0;sh(g|0,(f[r>>2]|0)+(X(f[k>>2]|0,a)|0)|0,l|0)|0;a=a+1|0}while((a|0)<(m|0));o=f[c>>2]|0;return o|0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=f[a+104>>2]|0;if(!c)return 0;d=f[a+12>>2]|0;e=f[b>>2]|0;b=f[e>>2]|0;g=(b|0)==4|(b|0)==9;h=g&1;i=f[a+8>>2]|0;j=f[a+16>>2]|0;if(!(f[a+56>>2]|0)){k=j;l=i;m=c}else{if(!i){n=j+-1|0;o=0;p=c}else{n=j;o=i+-1|0;p=c+(0-(f[a>>2]|0))|0}c=f[a+84>>2]|0;q=i+c+j|0;k=(q|0)==(f[a+88>>2]|0)?q-(c+o)|0:n;l=o;m=p}p=e+20|0;o=f[p>>2]|0;n=(f[e+16>>2]|0)+(X(o,l)|0)|0;if(!((b+-7|0)>>>0<4&(pb[f[2886]&7](m,f[a>>2]|0,d,k,n+(g?0:3)|0,o)|0)!=0))return 0;mb[f[2884]&31](n,h,d,k,f[p>>2]|0);return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;c=f[a+104>>2]|0;d=f[b>>2]|0;b=f[a+12>>2]|0;e=f[a+16>>2]|0;g=f[d+28>>2]|0;h=d+44|0;d=f[h>>2]|0;i=g+(X(d,f[a+8>>2]|0)|0)|0;if(!c){if((e|0)>0&(g|0)!=0){j=i;k=0}else return 0;while(1){ph(j|0,-1,b|0)|0;k=k+1|0;if((k|0)==(e|0))break;else j=j+d|0}return 0}if((e|0)<=0)return 0;d=i;i=c;c=0;while(1){sh(d|0,i|0,b|0)|0;c=c+1|0;if((c|0)==(e|0))break;else{d=d+(f[h>>2]|0)|0;i=i+(f[a>>2]|0)|0}}return 0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=f[a+104>>2]|0;if(!d)return 0;e=f[a+12>>2]|0;g=f[c>>2]|0;c=f[g>>2]|0;i=f[a+8>>2]|0;j=f[a+16>>2]|0;if(!(f[a+56>>2]|0)){k=i;l=j;m=d}else{if(!i){n=0;o=j+-1|0;p=d}else{n=i+-1|0;o=j;p=d+(0-(f[a>>2]|0))|0}d=f[a+84>>2]|0;q=i+d+j|0;k=n;l=(q|0)==(f[a+88>>2]|0)?q-(d+n)|0:o;m=p}p=g+20|0;o=(f[g+16>>2]|0)+(X(f[p>>2]|0,k)|0)|0;if((l|0)<=0)return 0;if((e|0)<=0)return 0;k=0;g=15;n=o+1|0;d=m;while(1){m=0;r=g;do{q=(h[d+m>>0]|0)>>>4;j=n+(m<<1)|0;b[j>>0]=b[j>>0]&-16&255|q;r=q&r;m=m+1|0}while((m|0)!=(e|0));s=f[p>>2]|0;k=k+1|0;if((k|0)==(l|0))break;else{g=r;n=n+s|0;d=d+(f[a>>2]|0)|0}}if(!((c+-7|0)>>>0<4&(r|0)!=15))return 0;wb[f[2885]&31](o,e,l,s);return 0}function wd(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((i|0)>0){k=a;l=c;m=d;n=f;o=0}else return;while(1){mb[j&31](k,l,m,n,h);f=(o&1|0)==0;o=o+1|0;if((o|0)==(i|0))break;else{k=k+b|0;l=f?l:l+e|0;m=f?m:m+e|0;n=n+g|0}}return}function xd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=f&-2;i=e+(g*3|0)|0;if(!g){j=a;k=c;l=e;m=d}else{g=c;c=e;e=d;d=a;while(1){a=h[g>>0]|0;n=h[e>>0]|0;o=((h[d>>0]|0)*19077|0)>>>8;p=o+-14234+((n*26149|0)>>>8)|0;b[c>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=o+8708-((a*6419|0)>>>8)-((n*13320|0)>>>8)|0;b[c+1>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=o+-17685+((a*33050|0)>>>8)|0;b[c+2>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=h[g>>0]|0;a=h[e>>0]|0;o=((h[d+1>>0]|0)*19077|0)>>>8;n=o+-14234+((a*26149|0)>>>8)|0;b[c+3>>0]=n>>>0<16384?n>>>6:(n>>>31)+255|0;n=o+8708-((p*6419|0)>>>8)-((a*13320|0)>>>8)|0;b[c+4>>0]=n>>>0<16384?n>>>6:(n>>>31)+255|0;n=o+-17685+((p*33050|0)>>>8)|0;b[c+5>>0]=n>>>0<16384?n>>>6:(n>>>31)+255|0;n=d+2|0;p=g+1|0;o=e+1|0;c=c+6|0;if((c|0)==(i|0)){j=n;k=p;l=i;m=o;break}else{g=p;e=o;d=n}}}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-14234+((k*26149|0)>>>8)|0;b[l>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[l+1>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+-17685+((f*33050|0)>>>8)|0;b[l+2>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;return}function yd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f<<2&-8;i=e+g|0;if(!g){j=a;k=c;l=e;m=d}else{n=g+-8|0;o=(n>>>2)+2|0;p=(n>>>3)+1|0;n=c+p|0;q=c;c=e;r=d;s=a;while(1){t=h[q>>0]|0;u=h[r>>0]|0;v=((h[s>>0]|0)*19077|0)>>>8;w=v+-14234+((u*26149|0)>>>8)|0;b[c>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=v+8708-((t*6419|0)>>>8)-((u*13320|0)>>>8)|0;b[c+1>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=v+-17685+((t*33050|0)>>>8)|0;b[c+2>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;b[c+3>>0]=-1;w=h[q>>0]|0;t=h[r>>0]|0;v=((h[s+1>>0]|0)*19077|0)>>>8;u=v+-14234+((t*26149|0)>>>8)|0;b[c+4>>0]=u>>>0<16384?u>>>6:(u>>>31)+255|0;u=v+8708-((w*6419|0)>>>8)-((t*13320|0)>>>8)|0;b[c+5>>0]=u>>>0<16384?u>>>6:(u>>>31)+255|0;u=v+-17685+((w*33050|0)>>>8)|0;b[c+6>>0]=u>>>0<16384?u>>>6:(u>>>31)+255|0;b[c+7>>0]=-1;c=c+8|0;if((c|0)==(i|0))break;else{q=q+1|0;r=r+1|0;s=s+2|0}}j=a+o|0;k=n;l=e+g|0;m=d+p|0}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-14234+((k*26149|0)>>>8)|0;b[l>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[l+1>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+-17685+((f*33050|0)>>>8)|0;b[l+2>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;b[l+3>>0]=-1;return}function zd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=f&-2;i=e+(g*3|0)|0;if(!g){j=a;k=c;l=e;m=d}else{g=c;c=e;e=d;d=a;while(1){a=h[g>>0]|0;n=h[e>>0]|0;o=((h[d>>0]|0)*19077|0)>>>8;p=o+-17685+((a*33050|0)>>>8)|0;b[c>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=o+8708-((a*6419|0)>>>8)-((n*13320|0)>>>8)|0;b[c+1>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=o+-14234+((n*26149|0)>>>8)|0;b[c+2>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=h[g>>0]|0;n=h[e>>0]|0;o=((h[d+1>>0]|0)*19077|0)>>>8;a=o+-17685+((p*33050|0)>>>8)|0;b[c+3>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=o+8708-((p*6419|0)>>>8)-((n*13320|0)>>>8)|0;b[c+4>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=o+-14234+((n*26149|0)>>>8)|0;b[c+5>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=d+2|0;n=g+1|0;o=e+1|0;c=c+6|0;if((c|0)==(i|0)){j=a;k=n;l=i;m=o;break}else{g=n;e=o;d=a}}}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-17685+((f*33050|0)>>>8)|0;b[l>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[l+1>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+-14234+((k*26149|0)>>>8)|0;b[l+2>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;return}function Ad(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=f<<2&-8;i=e+g|0;if(!g){j=a;k=c;l=e;m=d}else{n=g+-8|0;o=(n>>>2)+2|0;p=(n>>>3)+1|0;n=c+p|0;q=c;c=e;r=d;s=a;while(1){t=h[q>>0]|0;u=h[r>>0]|0;v=((h[s>>0]|0)*19077|0)>>>8;w=v+-17685+((t*33050|0)>>>8)|0;b[c>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=v+8708-((t*6419|0)>>>8)-((u*13320|0)>>>8)|0;b[c+1>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=v+-14234+((u*26149|0)>>>8)|0;b[c+2>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;b[c+3>>0]=-1;w=h[q>>0]|0;u=h[r>>0]|0;v=((h[s+1>>0]|0)*19077|0)>>>8;t=v+-17685+((w*33050|0)>>>8)|0;b[c+4>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=v+8708-((w*6419|0)>>>8)-((u*13320|0)>>>8)|0;b[c+5>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=v+-14234+((u*26149|0)>>>8)|0;b[c+6>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;b[c+7>>0]=-1;c=c+8|0;if((c|0)==(i|0))break;else{q=q+1|0;r=r+1|0;s=s+2|0}}j=a+o|0;k=n;l=e+g|0;m=d+p|0}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-17685+((f*33050|0)>>>8)|0;b[l>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[l+1>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;j=m+-14234+((k*26149|0)>>>8)|0;b[l+2>>0]=j>>>0<16384?j>>>6:(j>>>31)+255|0;b[l+3>>0]=-1;return}function Bd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=f<<2&-8;h=e+g|0;if(!g){i=a;j=c;k=e;l=d}else{m=g+-8|0;n=(m>>>2)+2|0;o=(m>>>3)+1|0;m=c+o|0;p=c;c=e;q=d;r=a;while(1){s=b[r>>0]|0;t=b[p>>0]|0;u=b[q>>0]|0;b[c>>0]=-1;v=t&255;t=u&255;u=((s&255)*19077|0)>>>8;s=u+-14234+((t*26149|0)>>>8)|0;b[c+1>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=u+8708-((v*6419|0)>>>8)-((t*13320|0)>>>8)|0;b[c+2>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=u+-17685+((v*33050|0)>>>8)|0;b[c+3>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=b[r+1>>0]|0;v=b[p>>0]|0;u=b[q>>0]|0;b[c+4>>0]=-1;t=v&255;v=u&255;u=((s&255)*19077|0)>>>8;s=u+-14234+((v*26149|0)>>>8)|0;b[c+5>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=u+8708-((t*6419|0)>>>8)-((v*13320|0)>>>8)|0;b[c+6>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=u+-17685+((t*33050|0)>>>8)|0;b[c+7>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;c=c+8|0;if((c|0)==(h|0))break;else{p=p+1|0;q=q+1|0;r=r+2|0}}i=a+n|0;j=m;k=e+g|0;l=d+o|0}if(!(f&1))return;f=b[i>>0]|0;i=b[j>>0]|0;j=b[l>>0]|0;b[k>>0]=-1;l=i&255;i=j&255;j=((f&255)*19077|0)>>>8;f=j+-14234+((i*26149|0)>>>8)|0;b[k+1>>0]=f>>>0<16384?f>>>6:(f>>>31)+255|0;f=j+8708-((l*6419|0)>>>8)-((i*13320|0)>>>8)|0;b[k+2>>0]=f>>>0<16384?f>>>6:(f>>>31)+255|0;f=j+-17685+((l*33050|0)>>>8)|0;b[k+3>>0]=f>>>0<16384?f>>>6:(f>>>31)+255|0;return}function Cd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=f<<1&-4;i=e+g|0;if(!g){j=a;k=c;l=e;m=d}else{n=g+-4|0;o=(n>>>1)+2|0;p=(n>>>2)+1|0;n=c+p|0;q=c;c=e;r=d;s=a;while(1){t=h[q>>0]|0;u=h[r>>0]|0;v=((h[s>>0]|0)*19077|0)>>>8;w=v+-14234+((u*26149|0)>>>8)|0;x=v+8708-((t*6419|0)>>>8)-((u*13320|0)>>>8)|0;u=v+-17685+((t*33050|0)>>>8)|0;b[c>>0]=(x>>>0<16384?x>>>6:(x>>31&3841)+255|0)>>>4|(w>>>0<16384?w>>>6:(w>>>31)+255|0)&240;b[c+1>>0]=(u>>>0<16384?u>>>6:(u>>>31)+255|0)|15;u=h[q>>0]|0;w=h[r>>0]|0;x=((h[s+1>>0]|0)*19077|0)>>>8;t=x+-14234+((w*26149|0)>>>8)|0;v=x+8708-((u*6419|0)>>>8)-((w*13320|0)>>>8)|0;w=x+-17685+((u*33050|0)>>>8)|0;b[c+2>>0]=(v>>>0<16384?v>>>6:(v>>31&3841)+255|0)>>>4|(t>>>0<16384?t>>>6:(t>>>31)+255|0)&240;b[c+3>>0]=(w>>>0<16384?w>>>6:(w>>>31)+255|0)|15;c=c+4|0;if((c|0)==(i|0))break;else{q=q+1|0;r=r+1|0;s=s+2|0}}j=a+o|0;k=n;l=e+g|0;m=d+p|0}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-14234+((k*26149|0)>>>8)|0;p=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;k=m+-17685+((f*33050|0)>>>8)|0;b[l>>0]=(p>>>0<16384?p>>>6:(p>>31&3841)+255|0)>>>4|(j>>>0<16384?j>>>6:(j>>>31)+255|0)&240;b[l+1>>0]=(k>>>0<16384?k>>>6:(k>>>31)+255|0)|15;return}function Dd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=f<<1&-4;i=e+g|0;if(!g){j=a;k=c;l=e;m=d}else{n=g+-4|0;o=(n>>>1)+2|0;p=(n>>>2)+1|0;n=c+p|0;q=c;c=e;r=d;s=a;while(1){t=h[q>>0]|0;u=h[r>>0]|0;v=((h[s>>0]|0)*19077|0)>>>8;w=v+-14234+((u*26149|0)>>>8)|0;x=v+8708-((t*6419|0)>>>8)-((u*13320|0)>>>8)|0;u=x>>>0<16384?x>>6:(x>>31&-255)+255|0;x=v+-17685+((t*33050|0)>>>8)|0;b[c>>0]=u>>>5|(w>>>0<16384?w>>>6:(w>>>31)+255|0)&248;b[c+1>>0]=u<<3&224|(x>>>0<16384?x>>>6:(x>>31&1793)+255|0)>>>3;x=h[q>>0]|0;u=h[r>>0]|0;w=((h[s+1>>0]|0)*19077|0)>>>8;t=w+-14234+((u*26149|0)>>>8)|0;v=w+8708-((x*6419|0)>>>8)-((u*13320|0)>>>8)|0;u=v>>>0<16384?v>>6:(v>>31&-255)+255|0;v=w+-17685+((x*33050|0)>>>8)|0;b[c+2>>0]=u>>>5|(t>>>0<16384?t>>>6:(t>>>31)+255|0)&248;b[c+3>>0]=u<<3&224|(v>>>0<16384?v>>>6:(v>>31&1793)+255|0)>>>3;c=c+4|0;if((c|0)==(i|0))break;else{q=q+1|0;r=r+1|0;s=s+2|0}}j=a+o|0;k=n;l=e+g|0;m=d+p|0}if(!(f&1))return;f=h[k>>0]|0;k=h[m>>0]|0;m=((h[j>>0]|0)*19077|0)>>>8;j=m+-14234+((k*26149|0)>>>8)|0;p=m+8708-((f*6419|0)>>>8)-((k*13320|0)>>>8)|0;k=p>>>0<16384?p>>6:(p>>31&-255)+255|0;p=m+-17685+((f*33050|0)>>>8)|0;b[l>>0]=k>>>5|(j>>>0<16384?j>>>6:(j>>>31)+255|0)&248;b[l+1>>0]=k<<3&224|(p>>>0<16384?p>>>6:(p>>31&1793)+255|0)>>>3;return}function Ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+24|0;if((b|0)<=0){g=0;return g|0}h=a+56|0;i=a+64|0;j=a+4|0;k=a+60|0;l=a+32|0;m=a+8|0;n=a+52|0;o=a+80|0;p=a+76|0;q=c;c=0;while(1){if((f[i>>2]|0)<(f[h>>2]|0)?(f[e>>2]|0)<1:0){g=c;r=12;break}if(f[j>>2]|0){s=f[p>>2]|0;f[p>>2]=f[o>>2];f[o>>2]=s}Id(a,q);if((f[j>>2]|0)==0?(X(f[n>>2]|0,f[m>>2]|0)|0)>0:0){s=f[o>>2]|0;t=f[p>>2]|0;u=0;do{v=t+(u<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[s+(u<<2)>>2]|0);u=u+1|0}while((u|0)<(X(f[n>>2]|0,f[m>>2]|0)|0))}f[k>>2]=(f[k>>2]|0)+1;u=c+1|0;f[e>>2]=(f[e>>2]|0)-(f[l>>2]|0);if((u|0)<(b|0)){q=q+d|0;c=u}else{g=u;r=12;break}}if((r|0)==12)return g|0;return 0}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+24|0;c=a+56|0;d=a+64|0;if((f[d>>2]|0)<(f[c>>2]|0))e=0;else{g=0;return g|0}while(1){if((f[b>>2]|0)>=1){g=e;h=4;break}Hd(a);i=e+1|0;if((f[d>>2]|0)<(f[c>>2]|0))e=i;else{g=i;h=4;break}}if((h|0)==4)return g|0;return 0}function Gd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0;if((g|0)>0){i=a;j=c;k=0}else return;while(1){wb[f[2883]&31](i,j,e,h);k=k+1|0;if((k|0)==(g|0))break;else{i=i+b|0;j=j+d|0}}return}function Hd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=a+24|0;if((f[c>>2]|0)>=1)return;do if(!(f[a+4>>2]|0)){if(f[a+20>>2]|0){nb[f[3021]&31](a);break}d=a+8|0;e=a+52|0;if((X(f[e>>2]|0,f[d>>2]|0)|0)>0){g=a+76|0;h=a+68|0;i=0;j=f[g>>2]|0;do{b[(f[h>>2]|0)+i>>0]=f[j+(i<<2)>>2];j=f[g>>2]|0;f[j+(i<<2)>>2]=0;i=i+1|0}while((i|0)<(X(f[e>>2]|0,f[d>>2]|0)|0))}}else nb[f[3020]&31](a);while(0);f[c>>2]=(f[c>>2]|0)+(f[a+28>>2]|0);c=a+68|0;f[c>>2]=(f[c>>2]|0)+(f[a+72>>2]|0);c=a+64|0;f[c>>2]=(f[c>>2]|0)+1;return}function Id(a,b){a=a|0;b=b|0;if(!(f[a>>2]|0)){ob[f[3018]&15](a,b);return}else{ob[f[3019]&15](a,b);return}}function Jd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;if((f|0)>0)g=0;else return;do{i=e+(g<<2)|0;j=h[c+g>>0]|0;k=h[d+g>>0]|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-14234+((k*26149|0)>>>8)|0;b[i>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+8708-((j*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[i+1>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+-17685+((j*33050|0)>>>8)|0;b[i+2>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;b[i+3>>0]=-1;g=g+1|0}while((g|0)!=(f|0));return}function Kd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;if((f|0)>0)g=0;else return;do{i=e+(g<<2)|0;j=h[c+g>>0]|0;k=h[d+g>>0]|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-17685+((j*33050|0)>>>8)|0;b[i>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+8708-((j*6419|0)>>>8)-((k*13320|0)>>>8)|0;b[i+1>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+-14234+((k*26149|0)>>>8)|0;b[i+2>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;b[i+3>>0]=-1;g=g+1|0}while((g|0)!=(f|0));return}function Ld(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;if((f|0)>0)g=0;else return;do{i=h[c+g>>0]|0;j=h[d+g>>0]|0;k=e+(g*3|0)|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-14234+((j*26149|0)>>>8)|0;b[k>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+8708-((i*6419|0)>>>8)-((j*13320|0)>>>8)|0;b[k+1>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+-17685+((i*33050|0)>>>8)|0;b[k+2>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;g=g+1|0}while((g|0)!=(f|0));return}function Md(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;if((f|0)>0)g=0;else return;do{i=h[c+g>>0]|0;j=h[d+g>>0]|0;k=e+(g*3|0)|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-17685+((i*33050|0)>>>8)|0;b[k>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+8708-((i*6419|0)>>>8)-((j*13320|0)>>>8)|0;b[k+1>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;m=l+-14234+((j*26149|0)>>>8)|0;b[k+2>>0]=m>>>0<16384?m>>>6:(m>>>31)+255|0;g=g+1|0}while((g|0)!=(f|0));return}function Nd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;if((f|0)>0)g=0;else return;do{h=b[a+g>>0]|0;i=b[c+g>>0]|0;j=b[d+g>>0]|0;k=e+(g<<2)|0;b[k>>0]=-1;l=i&255;i=j&255;j=((h&255)*19077|0)>>>8;h=j+-14234+((i*26149|0)>>>8)|0;b[k+1>>0]=h>>>0<16384?h>>>6:(h>>>31)+255|0;h=j+8708-((l*6419|0)>>>8)-((i*13320|0)>>>8)|0;b[k+2>>0]=h>>>0<16384?h>>>6:(h>>>31)+255|0;h=j+-17685+((l*33050|0)>>>8)|0;b[k+3>>0]=h>>>0<16384?h>>>6:(h>>>31)+255|0;g=g+1|0}while((g|0)!=(f|0));return}function Od(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)>0)g=0;else return;do{i=h[c+g>>0]|0;j=h[d+g>>0]|0;k=e+(g<<1)|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-14234+((j*26149|0)>>>8)|0;n=l+8708-((i*6419|0)>>>8)-((j*13320|0)>>>8)|0;j=l+-17685+((i*33050|0)>>>8)|0;b[k>>0]=(n>>>0<16384?n>>>6:(n>>31&3841)+255|0)>>>4|(m>>>0<16384?m>>>6:(m>>>31)+255|0)&240;b[k+1>>0]=(j>>>0<16384?j>>>6:(j>>>31)+255|0)|15;g=g+1|0}while((g|0)!=(f|0));return}function Pd(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((f|0)>0)g=0;else return;do{i=h[c+g>>0]|0;j=h[d+g>>0]|0;k=e+(g<<1)|0;l=((h[a+g>>0]|0)*19077|0)>>>8;m=l+-14234+((j*26149|0)>>>8)|0;n=l+8708-((i*6419|0)>>>8)-((j*13320|0)>>>8)|0;j=n>>>0<16384?n>>6:(n>>31&-255)+255|0;n=l+-17685+((i*33050|0)>>>8)|0;b[k>>0]=j>>>5|(m>>>0<16384?m>>>6:(m>>>31)+255|0)&248;b[k+1>>0]=j<<3&224|(n>>>0<16384?n>>>6:(n>>31&1793)+255|0)>>>3;g=g+1|0}while((g|0)!=(f|0));return}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+32>>2]|0;d=((f[a+24>>2]|0)+-1+c|0)/(c|0)|0;return ((d|0)>(b|0)?b:d)|0}function Rd(){var a=0;if(qh(12388)|0)return;a=f[2893]|0;if((f[35]|0)!=(a|0)){f[3020]=6;f[3021]=7;f[3019]=2;f[3018]=3}f[35]=a;Ch(12388)|0;return}function Sd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=f[a+68>>2]|0;d=f[a+76>>2]|0;e=X(f[a+8>>2]|0,f[a+52>>2]|0)|0;g=f[a+80>>2]|0;h=f[a+24>>2]|0;if(!h){if((e|0)<=0)return;i=a+16|0;j=0;do{k=xh(f[i>>2]|0,0,f[g+(j<<2)>>2]|0,0)|0;oh(k|0,I|0,-2147483648,0)|0;b[c+j>>0]=I;j=j+1|0}while((j|0)!=(e|0));return}else{j=f[a+32>>2]|0;i=vh(0,0-h|0,j|0,((j|0)<0)<<31>>31|0)|0;if((e|0)<=0)return;j=nh(0,0,i|0,I|0)|0;h=a+16|0;a=0;do{k=xh(f[g+(a<<2)>>2]|0,0,j|0,0)|0;l=I;m=xh(f[d+(a<<2)>>2]|0,0,i|0,0)|0;n=I;o=oh(k|0,l|0,-2147483648,0)|0;oh(o|0,I|0,m|0,n|0)|0;n=xh(I|0,0,f[h>>2]|0,0)|0;oh(n|0,I|0,-2147483648,0)|0;b[c+a>>0]=I;a=a+1|0}while((a|0)!=(e|0));return}}function Td(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=f[a+68>>2]|0;d=f[a+76>>2]|0;e=X(f[a+8>>2]|0,f[a+52>>2]|0)|0;g=f[a+80>>2]|0;h=X(f[a+24>>2]|0,0-(f[a+16>>2]|0)|0)|0;i=(e|0)>0;if(!h){if(!i)return;j=a+20|0;k=0;do{l=d+(k<<2)|0;m=xh(f[j>>2]|0,0,f[l>>2]|0,0)|0;oh(m|0,I|0,-2147483648,0)|0;b[c+k>>0]=I;f[l>>2]=0;k=k+1|0}while((k|0)!=(e|0));return}else{if(!i)return;i=a+20|0;a=0;do{k=xh(f[g+(a<<2)>>2]|0,0,h|0,0)|0;oh(k|0,I|0,-2147483648,0)|0;k=I;j=d+(a<<2)|0;xh((f[j>>2]|0)-k|0,0,f[i>>2]|0,0)|0;b[c+a>>0]=I;f[j>>2]=k;a=a+1|0}while((a|0)!=(e|0));return}}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;c=f[a+8>>2]|0;d=X(f[a+52>>2]|0,c)|0;if((c|0)<=0)return;e=a+36|0;g=a+44|0;i=a+80|0;j=a+40|0;a=0;do{k=f[e>>2]|0;l=h[b+a>>0]|0;m=a+c|0;if((f[g>>2]|0)>1)n=h[b+m>>0]|0;else n=l;o=f[i>>2]|0;p=X(k,l)|0;f[o+(a<<2)>>2]=p;p=a+c|0;a:do if((p|0)<(d|0)){q=n;r=k;s=m;t=l-n|0;u=p;do{v=r;w=u;while(1){v=v-(f[j>>2]|0)|0;if((v|0)<0)break;x=(X(f[e>>2]|0,q)|0)+(X(t,v)|0)|0;f[o+(w<<2)>>2]=x;x=w+c|0;if((x|0)>=(d|0))break a;else w=x}s=s+c|0;x=q;q=h[b+s>>0]|0;y=f[e>>2]|0;r=y+v|0;t=x-q|0;x=(X(y,q)|0)+(X(t,r)|0)|0;f[o+(w<<2)>>2]=x;u=w+c|0}while((u|0)<(d|0))}while(0);a=a+1|0}while((a|0)!=(c|0));return}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;c=f[a+8>>2]|0;d=X(f[a+52>>2]|0,c)|0;if((c|0)<=0)return;e=a+36|0;g=a+40|0;i=a+80|0;j=a+12|0;a=0;do{if((a|0)<(d|0)){k=0;l=0;m=a;n=a;while(1){o=(f[e>>2]|0)+k|0;p=f[g>>2]|0;if((o|0)>0){q=l;r=n;s=o;while(1){t=s-p|0;u=h[b+r>>0]|0;v=u+q|0;w=r+c|0;if((t|0)>0){q=v;r=w;s=t}else{x=u;y=t;z=v;A=w;break}}}else{x=0;y=o;z=l;A=n}s=X(x,0-y|0)|0;r=(X(p,z)|0)-s|0;f[(f[i>>2]|0)+(m<<2)>>2]=r;r=xh(f[j>>2]|0,0,s|0,0)|0;oh(r|0,I|0,-2147483648,0)|0;m=m+c|0;if((m|0)>=(d|0))break;else{k=y;l=I;n=A}}}a=a+1|0}while((a|0)!=(c|0));return}function Wd(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18&255;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-14234+((r*26149|0)>>>8)|0;b[i>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+8708-((q*6419|0)>>>8)-((r*13320|0)>>>8)|0;b[i+1>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+-17685+((q*33050|0)>>>8)|0;b[i+2>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;b[i+3>>0]=-1;s=(c|0)!=0;if(s){q=n+131074+(o*3|0)|0;p=q>>>2&255;r=q>>>18&255;q=((h[c>>0]|0)*19077|0)>>>8;t=((r*26149|0)>>>8)+-14234+q|0;b[j>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=8708-((p*6419|0)>>>8)-((r*13320|0)>>>8)+q|0;b[j+1>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=((p*33050|0)>>>8)+-17685+q|0;b[j+2>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;b[j+3>>0]=-1}if((m|0)<1){u=n;v=o}else{t=n;n=o;o=1;while(1){q=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);p=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);r=n+524296+t+q+p|0;w=(r+(q+n<<1)|0)>>>3;x=(r+(p+t<<1)|0)>>>3;r=w+t|0;y=x+q|0;z=o<<1;A=z+-1|0;B=A<<2;C=i+B|0;D=r>>>1&255;E=r>>>17&255;r=((h[a+A>>0]|0)*19077|0)>>>8;F=r+-14234+((E*26149|0)>>>8)|0;b[C>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=r+8708-((D*6419|0)>>>8)-((E*13320|0)>>>8)|0;b[C+1>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=r+-17685+((D*33050|0)>>>8)|0;b[C+2>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;b[C+3>>0]=-1;C=o<<3;F=i+C|0;D=y>>>1&255;r=y>>>17&255;y=((h[a+z>>0]|0)*19077|0)>>>8;E=y+-14234+((r*26149|0)>>>8)|0;b[F>>0]=E>>>0<16384?E>>>6:(E>>>31)+255|0;E=y+8708-((D*6419|0)>>>8)-((r*13320|0)>>>8)|0;b[F+1>>0]=E>>>0<16384?E>>>6:(E>>>31)+255|0;E=y+-17685+((D*33050|0)>>>8)|0;b[F+2>>0]=E>>>0<16384?E>>>6:(E>>>31)+255|0;b[F+3>>0]=-1;if(s){F=x+n|0;x=w+p|0;w=j+B|0;B=F>>>1&255;E=F>>>17&255;F=((h[c+A>>0]|0)*19077|0)>>>8;A=((E*26149|0)>>>8)+-14234+F|0;b[w>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=8708-((B*6419|0)>>>8)-((E*13320|0)>>>8)+F|0;b[w+1>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=((B*33050|0)>>>8)+-17685+F|0;b[w+2>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;b[w+3>>0]=-1;w=j+C|0;C=x>>>1&255;A=x>>>17&255;x=((h[c+z>>0]|0)*19077|0)>>>8;z=((A*26149|0)>>>8)+-14234+x|0;b[w>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=8708-((C*6419|0)>>>8)-((A*13320|0)>>>8)+x|0;b[w+1>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=((C*33050|0)>>>8)+-17685+x|0;b[w+2>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;b[w+3>>0]=-1}if((o|0)==(m|0)){u=q;v=p;break}else{t=q;n=p;o=o+1|0}}}if(k&1|0)return;k=v+131074+(u*3|0)|0;o=l<<2;n=i+o|0;i=k>>>2&255;t=k>>>18&255;k=((h[a+l>>0]|0)*19077|0)>>>8;a=((t*26149|0)>>>8)+-14234+k|0;b[n>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=8708-((i*6419|0)>>>8)-((t*13320|0)>>>8)+k|0;b[n+1>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=((i*33050|0)>>>8)+-17685+k|0;b[n+2>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;b[n+3>>0]=-1;if(!s)return;s=u+131074+(v*3|0)|0;v=j+o|0;o=s>>>2&255;j=s>>>18&255;s=((h[c+l>>0]|0)*19077|0)>>>8;l=((j*26149|0)>>>8)+-14234+s|0;b[v>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=8708-((o*6419|0)>>>8)-((j*13320|0)>>>8)+s|0;b[v+1>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=((o*33050|0)>>>8)+-17685+s|0;b[v+2>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;b[v+3>>0]=-1;return}function Xd(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18&255;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-17685+((q*33050|0)>>>8)|0;b[i>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+8708-((q*6419|0)>>>8)-((r*13320|0)>>>8)|0;b[i+1>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+-14234+((r*26149|0)>>>8)|0;b[i+2>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;b[i+3>>0]=-1;s=(c|0)!=0;if(s){r=n+131074+(o*3|0)|0;p=r>>>2&255;q=r>>>18&255;r=((h[c>>0]|0)*19077|0)>>>8;t=((p*33050|0)>>>8)+-17685+r|0;b[j>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=8708-((p*6419|0)>>>8)-((q*13320|0)>>>8)+r|0;b[j+1>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=((q*26149|0)>>>8)+-14234+r|0;b[j+2>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;b[j+3>>0]=-1}if((m|0)<1){u=n;v=o}else{t=n;n=o;o=1;while(1){r=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);q=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);p=n+524296+t+r+q|0;w=(p+(r+n<<1)|0)>>>3;x=(p+(q+t<<1)|0)>>>3;p=w+t|0;y=x+r|0;z=o<<1;A=z+-1|0;B=A<<2;C=i+B|0;D=p>>>1&255;E=p>>>17&255;p=((h[a+A>>0]|0)*19077|0)>>>8;F=p+-17685+((D*33050|0)>>>8)|0;b[C>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=p+8708-((D*6419|0)>>>8)-((E*13320|0)>>>8)|0;b[C+1>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=p+-14234+((E*26149|0)>>>8)|0;b[C+2>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;b[C+3>>0]=-1;C=o<<3;F=i+C|0;E=y>>>1&255;p=y>>>17&255;y=((h[a+z>>0]|0)*19077|0)>>>8;D=y+-17685+((E*33050|0)>>>8)|0;b[F>>0]=D>>>0<16384?D>>>6:(D>>>31)+255|0;D=y+8708-((E*6419|0)>>>8)-((p*13320|0)>>>8)|0;b[F+1>>0]=D>>>0<16384?D>>>6:(D>>>31)+255|0;D=y+-14234+((p*26149|0)>>>8)|0;b[F+2>>0]=D>>>0<16384?D>>>6:(D>>>31)+255|0;b[F+3>>0]=-1;if(s){F=x+n|0;x=w+q|0;w=j+B|0;B=F>>>1&255;D=F>>>17&255;F=((h[c+A>>0]|0)*19077|0)>>>8;A=((B*33050|0)>>>8)+-17685+F|0;b[w>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=8708-((B*6419|0)>>>8)-((D*13320|0)>>>8)+F|0;b[w+1>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=((D*26149|0)>>>8)+-14234+F|0;b[w+2>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;b[w+3>>0]=-1;w=j+C|0;C=x>>>1&255;A=x>>>17&255;x=((h[c+z>>0]|0)*19077|0)>>>8;z=((C*33050|0)>>>8)+-17685+x|0;b[w>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=8708-((C*6419|0)>>>8)-((A*13320|0)>>>8)+x|0;b[w+1>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=((A*26149|0)>>>8)+-14234+x|0;b[w+2>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;b[w+3>>0]=-1}if((o|0)==(m|0)){u=r;v=q;break}else{t=r;n=q;o=o+1|0}}}if(k&1|0)return;k=v+131074+(u*3|0)|0;o=l<<2;n=i+o|0;i=k>>>2&255;t=k>>>18&255;k=((h[a+l>>0]|0)*19077|0)>>>8;a=((i*33050|0)>>>8)+-17685+k|0;b[n>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=8708-((i*6419|0)>>>8)-((t*13320|0)>>>8)+k|0;b[n+1>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=((t*26149|0)>>>8)+-14234+k|0;b[n+2>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;b[n+3>>0]=-1;if(!s)return;s=u+131074+(v*3|0)|0;v=j+o|0;o=s>>>2&255;j=s>>>18&255;s=((h[c+l>>0]|0)*19077|0)>>>8;l=((o*33050|0)>>>8)+-17685+s|0;b[v>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=8708-((o*6419|0)>>>8)-((j*13320|0)>>>8)+s|0;b[v+1>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=((j*26149|0)>>>8)+-14234+s|0;b[v+2>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;b[v+3>>0]=-1;return}function Yd(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-14234+((r*26149|0)>>>8)|0;b[i>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+8708-((r*13320|0)>>>8)-((q*6419|0)>>>8)|0;b[i+1>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+-17685+((q*33050|0)>>>8)|0;b[i+2>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=(c|0)!=0;if(s){q=n+131074+(o*3|0)|0;p=q>>>2&255;r=q>>>18;q=((h[c>>0]|0)*19077|0)>>>8;t=((r*26149|0)>>>8)+-14234+q|0;b[j>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=8708-((r*13320|0)>>>8)-((p*6419|0)>>>8)+q|0;b[j+1>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=((p*33050|0)>>>8)+-17685+q|0;b[j+2>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0}if((m|0)<1){u=n;v=o}else{t=n;n=o;o=1;while(1){q=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);p=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);r=n+524296+t+q+p|0;w=(r+(q+n<<1)|0)>>>3;x=(r+(p+t<<1)|0)>>>3;r=w+t|0;y=x+q|0;z=o<<1;A=z+-1|0;B=r>>>1&255;C=r>>>17;r=A*3|0;D=i+r|0;E=((h[a+A>>0]|0)*19077|0)>>>8;F=E+-14234+((C*26149|0)>>>8)|0;b[D>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=E+8708-((C*13320|0)>>>8)-((B*6419|0)>>>8)|0;b[D+1>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=E+-17685+((B*33050|0)>>>8)|0;b[D+2>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=y>>>1&255;D=y>>>17;y=o*6|0;B=i+y|0;E=((h[a+z>>0]|0)*19077|0)>>>8;C=E+-14234+((D*26149|0)>>>8)|0;b[B>>0]=C>>>0<16384?C>>>6:(C>>>31)+255|0;C=E+8708-((D*13320|0)>>>8)-((F*6419|0)>>>8)|0;b[B+1>>0]=C>>>0<16384?C>>>6:(C>>>31)+255|0;C=E+-17685+((F*33050|0)>>>8)|0;b[B+2>>0]=C>>>0<16384?C>>>6:(C>>>31)+255|0;if(s){C=x+n|0;x=w+p|0;w=C>>>1&255;B=C>>>17;C=j+r|0;r=((h[c+A>>0]|0)*19077|0)>>>8;A=((B*26149|0)>>>8)+-14234+r|0;b[C>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=8708-((B*13320|0)>>>8)-((w*6419|0)>>>8)+r|0;b[C+1>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=((w*33050|0)>>>8)+-17685+r|0;b[C+2>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=x>>>1&255;C=x>>>17;x=j+y|0;y=((h[c+z>>0]|0)*19077|0)>>>8;z=((C*26149|0)>>>8)+-14234+y|0;b[x>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=8708-((C*13320|0)>>>8)-((A*6419|0)>>>8)+y|0;b[x+1>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=((A*33050|0)>>>8)+-17685+y|0;b[x+2>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0}if((o|0)==(m|0)){u=q;v=p;break}else{t=q;n=p;o=o+1|0}}}if(k&1|0)return;k=v+131074+(u*3|0)|0;o=k>>>2&255;n=k>>>18;k=l*3|0;t=i+k|0;i=((h[a+l>>0]|0)*19077|0)>>>8;a=((n*26149|0)>>>8)+-14234+i|0;b[t>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=8708-((n*13320|0)>>>8)-((o*6419|0)>>>8)+i|0;b[t+1>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=((o*33050|0)>>>8)+-17685+i|0;b[t+2>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;if(!s)return;s=u+131074+(v*3|0)|0;v=s>>>2&255;u=s>>>18;s=j+k|0;k=((h[c+l>>0]|0)*19077|0)>>>8;l=((u*26149|0)>>>8)+-14234+k|0;b[s>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=8708-((u*13320|0)>>>8)-((v*6419|0)>>>8)+k|0;b[s+1>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=((v*33050|0)>>>8)+-17685+k|0;b[s+2>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;return}function Zd(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-17685+((q*33050|0)>>>8)|0;b[i>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+8708-((r*13320|0)>>>8)-((q*6419|0)>>>8)|0;b[i+1>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=p+-14234+((r*26149|0)>>>8)|0;b[i+2>>0]=s>>>0<16384?s>>>6:(s>>>31)+255|0;s=(c|0)!=0;if(s){r=n+131074+(o*3|0)|0;p=r>>>2&255;q=r>>>18;r=((h[c>>0]|0)*19077|0)>>>8;t=((p*33050|0)>>>8)+-17685+r|0;b[j>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=8708-((q*13320|0)>>>8)-((p*6419|0)>>>8)+r|0;b[j+1>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0;t=((q*26149|0)>>>8)+-14234+r|0;b[j+2>>0]=t>>>0<16384?t>>>6:(t>>>31)+255|0}if((m|0)<1){u=n;v=o}else{t=n;n=o;o=1;while(1){r=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);q=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);p=n+524296+t+r+q|0;w=(p+(r+n<<1)|0)>>>3;x=(p+(q+t<<1)|0)>>>3;p=w+t|0;y=x+r|0;z=o<<1;A=z+-1|0;B=p>>>1&255;C=p>>>17;p=A*3|0;D=i+p|0;E=((h[a+A>>0]|0)*19077|0)>>>8;F=E+-17685+((B*33050|0)>>>8)|0;b[D>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=E+8708-((C*13320|0)>>>8)-((B*6419|0)>>>8)|0;b[D+1>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=E+-14234+((C*26149|0)>>>8)|0;b[D+2>>0]=F>>>0<16384?F>>>6:(F>>>31)+255|0;F=y>>>1&255;D=y>>>17;y=o*6|0;C=i+y|0;E=((h[a+z>>0]|0)*19077|0)>>>8;B=E+-17685+((F*33050|0)>>>8)|0;b[C>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=E+8708-((D*13320|0)>>>8)-((F*6419|0)>>>8)|0;b[C+1>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=E+-14234+((D*26149|0)>>>8)|0;b[C+2>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;if(s){B=x+n|0;x=w+q|0;w=B>>>1&255;C=B>>>17;B=j+p|0;p=((h[c+A>>0]|0)*19077|0)>>>8;A=((w*33050|0)>>>8)+-17685+p|0;b[B>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=8708-((C*13320|0)>>>8)-((w*6419|0)>>>8)+p|0;b[B+1>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=((C*26149|0)>>>8)+-14234+p|0;b[B+2>>0]=A>>>0<16384?A>>>6:(A>>>31)+255|0;A=x>>>1&255;B=x>>>17;x=j+y|0;y=((h[c+z>>0]|0)*19077|0)>>>8;z=((A*33050|0)>>>8)+-17685+y|0;b[x>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=8708-((B*13320|0)>>>8)-((A*6419|0)>>>8)+y|0;b[x+1>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0;z=((B*26149|0)>>>8)+-14234+y|0;b[x+2>>0]=z>>>0<16384?z>>>6:(z>>>31)+255|0}if((o|0)==(m|0)){u=r;v=q;break}else{t=r;n=q;o=o+1|0}}}if(k&1|0)return;k=v+131074+(u*3|0)|0;o=k>>>2&255;n=k>>>18;k=l*3|0;t=i+k|0;i=((h[a+l>>0]|0)*19077|0)>>>8;a=((o*33050|0)>>>8)+-17685+i|0;b[t>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=8708-((n*13320|0)>>>8)-((o*6419|0)>>>8)+i|0;b[t+1>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;a=((n*26149|0)>>>8)+-14234+i|0;b[t+2>>0]=a>>>0<16384?a>>>6:(a>>>31)+255|0;if(!s)return;s=u+131074+(v*3|0)|0;v=s>>>2&255;u=s>>>18;s=j+k|0;k=((h[c+l>>0]|0)*19077|0)>>>8;l=((v*33050|0)>>>8)+-17685+k|0;b[s>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=8708-((u*13320|0)>>>8)-((v*6419|0)>>>8)+k|0;b[s+1>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;l=((u*26149|0)>>>8)+-14234+k|0;b[s+2>>0]=l>>>0<16384?l>>>6:(l>>>31)+255|0;return}function _d(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=b[a>>0]|0;b[i>>0]=-1;r=p>>>2&255;s=p>>>18&255;p=((q&255)*19077|0)>>>8;q=p+-14234+((s*26149|0)>>>8)|0;b[i+1>>0]=q>>>0<16384?q>>>6:(q>>>31)+255|0;q=p+8708-((r*6419|0)>>>8)-((s*13320|0)>>>8)|0;b[i+2>>0]=q>>>0<16384?q>>>6:(q>>>31)+255|0;q=p+-17685+((r*33050|0)>>>8)|0;b[i+3>>0]=q>>>0<16384?q>>>6:(q>>>31)+255|0;q=(c|0)!=0;if(q){r=n+131074+(o*3|0)|0;p=b[c>>0]|0;b[j>>0]=-1;s=r>>>2&255;t=r>>>18&255;r=((p&255)*19077|0)>>>8;p=((t*26149|0)>>>8)+-14234+r|0;b[j+1>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=8708-((s*6419|0)>>>8)-((t*13320|0)>>>8)+r|0;b[j+2>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0;p=((s*33050|0)>>>8)+-17685+r|0;b[j+3>>0]=p>>>0<16384?p>>>6:(p>>>31)+255|0}if((m|0)<1){u=n;v=o}else{p=n;n=o;o=1;while(1){r=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);s=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);t=n+524296+p+r+s|0;w=(t+(r+n<<1)|0)>>>3;x=(t+(s+p<<1)|0)>>>3;t=w+p|0;y=x+r|0;z=o<<1;A=z+-1|0;B=b[a+A>>0]|0;C=A<<2;D=i+C|0;b[D>>0]=-1;E=t>>>1&255;F=t>>>17&255;t=((B&255)*19077|0)>>>8;B=t+-14234+((F*26149|0)>>>8)|0;b[D+1>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=t+8708-((E*6419|0)>>>8)-((F*13320|0)>>>8)|0;b[D+2>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=t+-17685+((E*33050|0)>>>8)|0;b[D+3>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=b[a+z>>0]|0;D=o<<3;E=i+D|0;b[E>>0]=-1;t=y>>>1&255;F=y>>>17&255;y=((B&255)*19077|0)>>>8;B=y+-14234+((F*26149|0)>>>8)|0;b[E+1>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=y+8708-((t*6419|0)>>>8)-((F*13320|0)>>>8)|0;b[E+2>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;B=y+-17685+((t*33050|0)>>>8)|0;b[E+3>>0]=B>>>0<16384?B>>>6:(B>>>31)+255|0;if(q){B=x+n|0;x=w+s|0;w=b[c+A>>0]|0;A=j+C|0;b[A>>0]=-1;C=B>>>1&255;E=B>>>17&255;B=((w&255)*19077|0)>>>8;w=((E*26149|0)>>>8)+-14234+B|0;b[A+1>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=8708-((C*6419|0)>>>8)-((E*13320|0)>>>8)+B|0;b[A+2>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=((C*33050|0)>>>8)+-17685+B|0;b[A+3>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=b[c+z>>0]|0;z=j+D|0;b[z>>0]=-1;D=x>>>1&255;A=x>>>17&255;x=((w&255)*19077|0)>>>8;w=((A*26149|0)>>>8)+-14234+x|0;b[z+1>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=8708-((D*6419|0)>>>8)-((A*13320|0)>>>8)+x|0;b[z+2>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0;w=((D*33050|0)>>>8)+-17685+x|0;b[z+3>>0]=w>>>0<16384?w>>>6:(w>>>31)+255|0}if((o|0)==(m|0)){u=r;v=s;break}else{p=r;n=s;o=o+1|0}}}if(k&1|0)return;k=v+131074+(u*3|0)|0;o=b[a+l>>0]|0;a=l<<2;n=i+a|0;b[n>>0]=-1;i=k>>>2&255;p=k>>>18&255;k=((o&255)*19077|0)>>>8;o=((p*26149|0)>>>8)+-14234+k|0;b[n+1>>0]=o>>>0<16384?o>>>6:(o>>>31)+255|0;o=8708-((i*6419|0)>>>8)-((p*13320|0)>>>8)+k|0;b[n+2>>0]=o>>>0<16384?o>>>6:(o>>>31)+255|0;o=((i*33050|0)>>>8)+-17685+k|0;b[n+3>>0]=o>>>0<16384?o>>>6:(o>>>31)+255|0;if(!q)return;q=u+131074+(v*3|0)|0;v=b[c+l>>0]|0;l=j+a|0;b[l>>0]=-1;a=q>>>2&255;j=q>>>18&255;q=((v&255)*19077|0)>>>8;v=((j*26149|0)>>>8)+-14234+q|0;b[l+1>>0]=v>>>0<16384?v>>>6:(v>>>31)+255|0;v=8708-((a*6419|0)>>>8)-((j*13320|0)>>>8)+q|0;b[l+2>>0]=v>>>0<16384?v>>>6:(v>>>31)+255|0;v=((a*33050|0)>>>8)+-17685+q|0;b[l+3>>0]=v>>>0<16384?v>>>6:(v>>>31)+255|0;return}function $d(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-14234+((r*26149|0)>>>8)|0;t=p+8708-((r*13320|0)>>>8)-((q*6419|0)>>>8)|0;r=p+-17685+((q*33050|0)>>>8)|0;b[i>>0]=(t>>>0<16384?t>>>6:(t>>31&3841)+255|0)>>>4|(s>>>0<16384?s>>>6:(s>>>31)+255|0)&240;b[i+1>>0]=(r>>>0<16384?r>>>6:(r>>>31)+255|0)|15;r=(c|0)!=0;if(r){s=n+131074+(o*3|0)|0;t=s>>>2&255;q=s>>>18;s=((h[c>>0]|0)*19077|0)>>>8;p=((q*26149|0)>>>8)+-14234+s|0;u=8708-((q*13320|0)>>>8)-((t*6419|0)>>>8)+s|0;q=((t*33050|0)>>>8)+-17685+s|0;b[j>>0]=(u>>>0<16384?u>>>6:(u>>31&3841)+255|0)>>>4|(p>>>0<16384?p>>>6:(p>>>31)+255|0)&240;b[j+1>>0]=(q>>>0<16384?q>>>6:(q>>>31)+255|0)|15}if((m|0)<1){v=n;w=o}else{q=n;n=o;o=1;while(1){p=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);u=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);s=n+524296+q+p+u|0;t=(s+(p+n<<1)|0)>>>3;x=(s+(u+q<<1)|0)>>>3;s=t+q|0;y=x+p|0;z=o<<1;A=z+-1|0;B=s>>>1&255;C=s>>>17;s=A<<1;D=i+s|0;E=((h[a+A>>0]|0)*19077|0)>>>8;F=E+-14234+((C*26149|0)>>>8)|0;G=E+8708-((C*13320|0)>>>8)-((B*6419|0)>>>8)|0;C=E+-17685+((B*33050|0)>>>8)|0;b[D>>0]=(G>>>0<16384?G>>>6:(G>>31&3841)+255|0)>>>4|(F>>>0<16384?F>>>6:(F>>>31)+255|0)&240;b[D+1>>0]=(C>>>0<16384?C>>>6:(C>>>31)+255|0)|15;C=y>>>1&255;D=y>>>17;y=o<<2;F=i+y|0;G=((h[a+z>>0]|0)*19077|0)>>>8;B=G+-14234+((D*26149|0)>>>8)|0;E=G+8708-((D*13320|0)>>>8)-((C*6419|0)>>>8)|0;D=G+-17685+((C*33050|0)>>>8)|0;b[F>>0]=(E>>>0<16384?E>>>6:(E>>31&3841)+255|0)>>>4|(B>>>0<16384?B>>>6:(B>>>31)+255|0)&240;b[F+1>>0]=(D>>>0<16384?D>>>6:(D>>>31)+255|0)|15;if(r){D=x+n|0;x=t+u|0;t=D>>>1&255;F=D>>>17;D=j+s|0;s=((h[c+A>>0]|0)*19077|0)>>>8;A=((F*26149|0)>>>8)+-14234+s|0;B=8708-((F*13320|0)>>>8)-((t*6419|0)>>>8)+s|0;F=((t*33050|0)>>>8)+-17685+s|0;b[D>>0]=(B>>>0<16384?B>>>6:(B>>31&3841)+255|0)>>>4|(A>>>0<16384?A>>>6:(A>>>31)+255|0)&240;b[D+1>>0]=(F>>>0<16384?F>>>6:(F>>>31)+255|0)|15;F=x>>>1&255;D=x>>>17;x=j+y|0;y=((h[c+z>>0]|0)*19077|0)>>>8;z=((D*26149|0)>>>8)+-14234+y|0;A=8708-((D*13320|0)>>>8)-((F*6419|0)>>>8)+y|0;D=((F*33050|0)>>>8)+-17685+y|0;b[x>>0]=(A>>>0<16384?A>>>6:(A>>31&3841)+255|0)>>>4|(z>>>0<16384?z>>>6:(z>>>31)+255|0)&240;b[x+1>>0]=(D>>>0<16384?D>>>6:(D>>>31)+255|0)|15}if((o|0)==(m|0)){v=p;w=u;break}else{q=p;n=u;o=o+1|0}}}if(k&1|0)return;k=w+131074+(v*3|0)|0;o=k>>>2&255;n=k>>>18;k=l<<1;q=i+k|0;i=((h[a+l>>0]|0)*19077|0)>>>8;a=((n*26149|0)>>>8)+-14234+i|0;m=8708-((n*13320|0)>>>8)-((o*6419|0)>>>8)+i|0;n=((o*33050|0)>>>8)+-17685+i|0;b[q>>0]=(m>>>0<16384?m>>>6:(m>>31&3841)+255|0)>>>4|(a>>>0<16384?a>>>6:(a>>>31)+255|0)&240;b[q+1>>0]=(n>>>0<16384?n>>>6:(n>>>31)+255|0)|15;if(!r)return;r=v+131074+(w*3|0)|0;w=r>>>2&255;v=r>>>18;r=j+k|0;k=((h[c+l>>0]|0)*19077|0)>>>8;l=((v*26149|0)>>>8)+-14234+k|0;c=8708-((v*13320|0)>>>8)-((w*6419|0)>>>8)+k|0;v=((w*33050|0)>>>8)+-17685+k|0;b[r>>0]=(c>>>0<16384?c>>>6:(c>>31&3841)+255|0)>>>4|(l>>>0<16384?l>>>6:(l>>>31)+255|0)&240;b[r+1>>0]=(v>>>0<16384?v>>>6:(v>>>31)+255|0)|15;return}function ae(a,c,d,e,f,g,i,j,k){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;l=k+-1|0;m=l>>1;n=(h[e>>0]|0)<<16|(h[d>>0]|0);o=(h[g>>0]|0)<<16|(h[f>>0]|0);p=(n*3|0)+131074+o|0;q=p>>>2&255;r=p>>>18;p=((h[a>>0]|0)*19077|0)>>>8;s=p+-14234+((r*26149|0)>>>8)|0;t=p+8708-((r*13320|0)>>>8)-((q*6419|0)>>>8)|0;r=t>>>0<16384?t>>6:(t>>31&-255)+255|0;t=p+-17685+((q*33050|0)>>>8)|0;b[i>>0]=r>>>5|(s>>>0<16384?s>>>6:(s>>>31)+255|0)&248;b[i+1>>0]=r<<3&224|(t>>>0<16384?t>>>6:(t>>31&1793)+255|0)>>>3;t=(c|0)!=0;if(t){r=n+131074+(o*3|0)|0;s=r>>>2&255;q=r>>>18;r=((h[c>>0]|0)*19077|0)>>>8;p=((q*26149|0)>>>8)+-14234+r|0;u=8708-((q*13320|0)>>>8)-((s*6419|0)>>>8)+r|0;q=u>>>0<16384?u>>6:(u>>31&-255)+255|0;u=((s*33050|0)>>>8)+-17685+r|0;b[j>>0]=q>>>5|(p>>>0<16384?p>>>6:(p>>>31)+255|0)&248;b[j+1>>0]=q<<3&224|(u>>>0<16384?u>>>6:(u>>31&1793)+255|0)>>>3}if((m|0)<1){v=n;w=o}else{u=n;n=o;o=1;while(1){q=(h[e+o>>0]|0)<<16|(h[d+o>>0]|0);p=(h[g+o>>0]|0)<<16|(h[f+o>>0]|0);r=n+524296+u+q+p|0;s=(r+(q+n<<1)|0)>>>3;x=(r+(p+u<<1)|0)>>>3;r=s+u|0;y=x+q|0;z=o<<1;A=z+-1|0;B=r>>>1&255;C=r>>>17;r=A<<1;D=i+r|0;E=((h[a+A>>0]|0)*19077|0)>>>8;F=E+-14234+((C*26149|0)>>>8)|0;G=E+8708-((C*13320|0)>>>8)-((B*6419|0)>>>8)|0;C=G>>>0<16384?G>>6:(G>>31&-255)+255|0;G=E+-17685+((B*33050|0)>>>8)|0;b[D>>0]=C>>>5|(F>>>0<16384?F>>>6:(F>>>31)+255|0)&248;b[D+1>>0]=C<<3&224|(G>>>0<16384?G>>>6:(G>>31&1793)+255|0)>>>3;G=y>>>1&255;C=y>>>17;y=o<<2;D=i+y|0;F=((h[a+z>>0]|0)*19077|0)>>>8;B=F+-14234+((C*26149|0)>>>8)|0;E=F+8708-((C*13320|0)>>>8)-((G*6419|0)>>>8)|0;C=E>>>0<16384?E>>6:(E>>31&-255)+255|0;E=F+-17685+((G*33050|0)>>>8)|0;b[D>>0]=C>>>5|(B>>>0<16384?B>>>6:(B>>>31)+255|0)&248;b[D+1>>0]=C<<3&224|(E>>>0<16384?E>>>6:(E>>31&1793)+255|0)>>>3;if(t){E=x+n|0;x=s+p|0;s=E>>>1&255;C=E>>>17;E=j+r|0;r=((h[c+A>>0]|0)*19077|0)>>>8;A=((C*26149|0)>>>8)+-14234+r|0;D=8708-((C*13320|0)>>>8)-((s*6419|0)>>>8)+r|0;C=D>>>0<16384?D>>6:(D>>31&-255)+255|0;D=((s*33050|0)>>>8)+-17685+r|0;b[E>>0]=C>>>5|(A>>>0<16384?A>>>6:(A>>>31)+255|0)&248;b[E+1>>0]=C<<3&224|(D>>>0<16384?D>>>6:(D>>31&1793)+255|0)>>>3;D=x>>>1&255;C=x>>>17;x=j+y|0;y=((h[c+z>>0]|0)*19077|0)>>>8;z=((C*26149|0)>>>8)+-14234+y|0;E=8708-((C*13320|0)>>>8)-((D*6419|0)>>>8)+y|0;C=E>>>0<16384?E>>6:(E>>31&-255)+255|0;E=((D*33050|0)>>>8)+-17685+y|0;b[x>>0]=C>>>5|(z>>>0<16384?z>>>6:(z>>>31)+255|0)&248;b[x+1>>0]=C<<3&224|(E>>>0<16384?E>>>6:(E>>31&1793)+255|0)>>>3}if((o|0)==(m|0)){v=q;w=p;break}else{u=q;n=p;o=o+1|0}}}if(k&1|0)return;k=w+131074+(v*3|0)|0;o=k>>>2&255;n=k>>>18;k=l<<1;u=i+k|0;i=((h[a+l>>0]|0)*19077|0)>>>8;a=((n*26149|0)>>>8)+-14234+i|0;m=8708-((n*13320|0)>>>8)-((o*6419|0)>>>8)+i|0;n=m>>>0<16384?m>>6:(m>>31&-255)+255|0;m=((o*33050|0)>>>8)+-17685+i|0;b[u>>0]=n>>>5|(a>>>0<16384?a>>>6:(a>>>31)+255|0)&248;b[u+1>>0]=n<<3&224|(m>>>0<16384?m>>>6:(m>>31&1793)+255|0)>>>3;if(!t)return;t=v+131074+(w*3|0)|0;w=t>>>2&255;v=t>>>18;t=j+k|0;k=((h[c+l>>0]|0)*19077|0)>>>8;l=((v*26149|0)>>>8)+-14234+k|0;c=8708-((v*13320|0)>>>8)-((w*6419|0)>>>8)+k|0;v=c>>>0<16384?c>>6:(c>>31&-255)+255|0;c=((w*33050|0)>>>8)+-17685+k|0;b[t>>0]=v>>>5|(l>>>0<16384?l>>>6:(l>>>31)+255|0)&248;b[t+1>>0]=v<<3&224|(c>>>0<16384?c>>>6:(c>>31&1793)+255|0)>>>3;return}function be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=f[c>>2]|0;g=f[d>>2]|0;h=((b|0)<0)<<31>>31;i=((a|0)<0)<<31>>31;if((b|0)>0&(e|0)==0){j=xh(g|0,((g|0)<0)<<31>>31|0,a|0,i|0)|0;k=I;l=oh(b|0,h|0,-1,-1)|0;m=oh(l|0,I|0,j|0,k|0)|0;k=vh(m|0,I|0,b|0,h|0)|0;n=k}else n=e;if((a|0)>0&(g|0)==0){e=xh(n|0,((n|0)<0)<<31>>31|0,b|0,h|0)|0;h=I;b=oh(a|0,i|0,-1,-1)|0;k=oh(b|0,I|0,e|0,h|0)|0;h=vh(k|0,I|0,a|0,i|0)|0;o=h}else o=g;if((n|0)<1|(o|0)<1){p=0;return p|0}f[c>>2]=n;f[d>>2]=o;p=1;return p|0}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0;if(!a)f=0;else f=b[a>>0]|0;if((e|0)>0){g=f;i=0}else return;do{g=(h[c+i>>0]|0)+(g&255)&255;b[d+i>>0]=g;i=i+1|0}while((i|0)!=(e|0));return}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;f=(e|0)>0;if(!a){if(f){g=0;i=0}else return;do{g=(h[c+i>>0]|0)+(g&255)|0;b[d+i>>0]=g;i=i+1|0}while((i|0)!=(e|0));return}else{if(f)j=0;else return;do{b[d+j>>0]=(h[c+j>>0]|0)+(h[a+j>>0]|0);j=j+1|0}while((j|0)!=(e|0));return}}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0;if(!a){if((e|0)>0){f=0;g=0}else return;do{f=(h[c+g>>0]|0)+(f&255)|0;b[d+g>>0]=f;g=g+1|0}while((g|0)!=(e|0));return}g=b[a>>0]|0;if((e|0)>0){i=g;j=g;k=0;l=g}else return;while(1){g=(i&255)-(j&255)+(l&255)|0;f=(g>>>0<256?g:(g>>>31)+255|0)+(h[c+k>>0]|0)&255;b[d+k>>0]=f;g=k+1|0;if((g|0)==(e|0))break;m=l;i=f;k=g;l=b[a+g>>0]|0;j=m}return}function fe(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;b[f>>0]=b[a>>0]|0;g=a+1|0;i=f+1|0;j=c+-1|0;k=(c|0)>1;if(k){c=0;do{b[i+c>>0]=(h[g+c>>0]|0)-(h[a+c>>0]|0);c=c+1|0}while((c|0)!=(j|0))}c=a+e|0;a=f+e|0;if((d|0)<=1)return;f=0-e|0;if(k){l=1;m=c;n=a}else{k=1;g=c;c=a;while(1){b[c>>0]=(h[g>>0]|0)-(h[g+f>>0]|0);k=k+1|0;if((k|0)==(d|0))break;else{g=g+e|0;c=c+e|0}}return}while(1){b[n>>0]=(h[m>>0]|0)-(h[m+f>>0]|0);c=m+1|0;g=n+1|0;k=0;do{b[g+k>>0]=(h[c+k>>0]|0)-(h[m+k>>0]|0);k=k+1|0}while((k|0)!=(j|0));l=l+1|0;if((l|0)==(d|0))break;else{m=m+e|0;n=n+e|0}}return}function ge(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0;b[f>>0]=b[a>>0]|0;g=a+1|0;i=f+1|0;j=c+-1|0;if((c|0)>1){k=0;do{b[i+k>>0]=(h[g+k>>0]|0)-(h[a+k>>0]|0);k=k+1|0}while((k|0)!=(j|0))}if((c|0)>0&(d|0)>1){l=a;m=1;n=f}else return;do{f=l;l=l+e|0;n=n+e|0;a=0;do{b[n+a>>0]=(h[l+a>>0]|0)-(h[f+a>>0]|0);a=a+1|0}while((a|0)!=(c|0));m=m+1|0}while((m|0)!=(d|0));return}function he(a,c,d,e,f){a=a|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b[f>>0]=b[a>>0]|0;g=a+1|0;i=f+1|0;j=c+-1|0;k=(c|0)>1;if(k){l=0;do{b[i+l>>0]=(h[g+l>>0]|0)-(h[a+l>>0]|0);l=l+1|0}while((l|0)!=(j|0))}j=a+e|0;a=f+e|0;if((d|0)<=1)return;f=0-e|0;if(k){m=1;n=j;o=a}else{k=1;l=j;j=a;while(1){b[j>>0]=(h[l>>0]|0)-(h[l+f>>0]|0);k=k+1|0;if((k|0)==(d|0))break;else{l=l+e|0;j=j+e|0}}return}while(1){b[o>>0]=(h[n>>0]|0)-(h[n+f>>0]|0);j=1;do{l=j-e|0;k=(h[n+l>>0]|0)+(h[n+(j+-1)>>0]|0)-(h[n+(l+-1)>>0]|0)|0;b[o+j>>0]=(h[n+j>>0]|0)-(k>>>0<256?k:(k>>>31)+255|0);j=j+1|0}while((j|0)!=(c|0));m=m+1|0;if((m|0)==(d|0))break;else{n=n+e|0;o=o+e|0}}return}function ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;if(!a){b=2;return b|0}c=(f[a+8>>2]|0)+-1|0;if((f[a>>2]|0)>>>0<11){d=a+20|0;e=f[d>>2]|0;g=X(e,c)|0;h=a+16|0;f[h>>2]=(f[h>>2]|0)+g;f[d>>2]=0-e;b=0;return b|0}e=a+32|0;d=f[e>>2]|0;g=X(d,c)|0;h=a+16|0;f[h>>2]=(f[h>>2]|0)+g;f[e>>2]=0-d;d=c>>1;e=a+36|0;g=f[e>>2]|0;h=X(g,d)|0;i=a+20|0;f[i>>2]=(f[i>>2]|0)+h;f[e>>2]=0-g;g=a+40|0;e=f[g>>2]|0;h=X(e,d)|0;d=a+24|0;f[d>>2]=(f[d>>2]|0)+h;f[g>>2]=0-e;e=a+28|0;g=f[e>>2]|0;if(!g){b=0;return b|0}h=a+44|0;a=f[h>>2]|0;d=g+(X(a,c)|0)|0;f[e>>2]=d;f[h>>2]=0-a;b=0;return b|0}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;g=u;u=u+16|0;h=g+4|0;i=g;if((c|0)<1|((a|0)<1|(e|0)==0)){j=2;u=g;return j|0}k=(d|0)!=0;if(k){if(f[d+8>>2]|0){l=f[d+20>>2]|0;m=f[d+24>>2]|0;n=f[d+12>>2]|0;o=f[d+16>>2]|0;if((m|0)<1|((l|0)<1|(o|n|0)<0)){j=2;u=g;return j|0}if(((n&-2)+l|0)>(a|0)|((o&-2)+m|0)>(c|0)){j=2;u=g;return j|0}else{p=l;q=m}}else{p=a;q=c}if(f[d+28>>2]|0){f[h>>2]=f[d+32>>2];f[i>>2]=f[d+36>>2];m=(be(p,q,h,i)|0)==0;if(m){j=2;u=g;return j|0}else{r=f[h>>2]|0;s=f[i>>2]|0}}else{r=p;s=q}}else{r=a;s=c}f[e+4>>2]=r;c=e+8|0;f[c>>2]=s;a=f[e>>2]|0;if(!((s|0)>0&(r|0)>0&a>>>0<13)){j=2;u=g;return j|0}do if((f[e+12>>2]|0)<1?(q=e+80|0,(f[q>>2]|0)==0):0){p=((r|0)<0)<<31>>31;i=b[5320+a>>0]|0;h=xh(i&255|0,0,r|0,p|0)|0;m=I;if(m>>>0>0|(m|0)==0&h>>>0>4294967295){j=2;u=g;return j|0}h=X(i&255,r)|0;i=((s|0)<0)<<31>>31;m=xh(h|0,((h|0)<0)<<31>>31|0,s|0,i|0)|0;l=I;o=a>>>0<11;if(o){t=0;v=0;w=0;x=0;y=0;z=0}else{n=(r+1|0)/2|0;A=(s+1|0)/2|0;B=xh(n|0,((n|0)<0)<<31>>31|0,A|0,((A|0)<0)<<31>>31|0)|0;A=I;C=(a|0)==12;D=xh(r|0,p|0,s|0,i|0)|0;t=n;v=C?r:0;w=B;x=A;y=C?D:0;z=C?I:0}C=zh(w|0,x|0,1)|0;D=I;A=oh(y|0,z|0,m|0,l|0)|0;l=oh(A|0,I|0,C|0,D|0)|0;D=Nb(l,I,1)|0;if(!D){j=1;u=g;return j|0}f[q>>2]=D;f[e+16>>2]=D;if(o){f[e+20>>2]=h;f[e+24>>2]=m;break}f[e+32>>2]=h;f[e+48>>2]=m;h=D+m|0;f[e+20>>2]=h;f[e+36>>2]=t;f[e+52>>2]=w;f[e+24>>2]=h+w;f[e+40>>2]=t;f[e+56>>2]=w;if((a|0)==12)f[e+28>>2]=h+C;f[e+60>>2]=y;f[e+44>>2]=v}while(0);v=ke(e)|0;if((v|0)!=0|k^1){j=v;u=g;return j|0}if(!(f[d+48>>2]|0)){j=0;u=g;return j|0}d=(f[c>>2]|0)+-1|0;if((f[e>>2]|0)>>>0<11){c=e+20|0;v=f[c>>2]|0;k=X(v,d)|0;y=e+16|0;f[y>>2]=(f[y>>2]|0)+k;f[c>>2]=0-v;j=0;u=g;return j|0}v=e+32|0;c=f[v>>2]|0;k=X(c,d)|0;y=e+16|0;f[y>>2]=(f[y>>2]|0)+k;f[v>>2]=0-c;c=d>>1;v=e+36|0;k=f[v>>2]|0;y=X(k,c)|0;a=e+20|0;f[a>>2]=(f[a>>2]|0)+y;f[v>>2]=0-k;k=e+40|0;v=f[k>>2]|0;y=X(v,c)|0;c=e+24|0;f[c>>2]=(f[c>>2]|0)+y;f[k>>2]=0-v;v=e+28|0;k=f[v>>2]|0;if(!k){j=0;u=g;return j|0}y=e+44|0;e=f[y>>2]|0;c=k+(X(e,d)|0)|0;f[v>>2]=c;f[y>>2]=0-e;j=0;u=g;return j|0}function ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=f[a>>2]|0;c=f[a+4>>2]|0;d=f[a+8>>2]|0;if(b>>>0>=13){e=2;return e|0}g=d+-1|0;i=((g|0)<0)<<31>>31;do if(b>>>0<11){j=f[a+20>>2]|0;k=(j|0)>-1?j:0-j|0;j=xh(k|0,((k|0)<0)<<31>>31|0,g|0,i|0)|0;l=X(h[5320+b>>0]|0,c)|0;m=oh(j|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;j=I;if(!((f[a+16>>2]|0)!=0&((k|0)>=(l|0)&(j>>>0<0|((j|0)==0?m>>>0<=(f[a+24>>2]|0)>>>0:0))))){e=2;return e|0}}else{m=(c+1|0)/2|0;j=f[a+32>>2]|0;l=(j|0)>-1?j:0-j|0;j=f[a+36>>2]|0;k=(j|0)>-1?j:0-j|0;j=f[a+40>>2]|0;n=(j|0)>-1?j:0-j|0;j=f[a+44>>2]|0;o=(j|0)>-1?j:0-j|0;j=xh(l|0,((l|0)<0)<<31>>31|0,g|0,i|0)|0;p=((c|0)<0)<<31>>31;q=oh(j|0,I|0,c|0,p|0)|0;j=I;r=((d+1|0)/2|0)+-1|0;s=((r|0)<0)<<31>>31;t=xh(k|0,((k|0)<0)<<31>>31|0,r|0,s|0)|0;u=((m|0)<0)<<31>>31;v=oh(t|0,I|0,m|0,u|0)|0;t=I;w=xh(n|0,((n|0)<0)<<31>>31|0,r|0,s|0)|0;s=oh(w|0,I|0,m|0,u|0)|0;u=I;w=(f[a+24>>2]|0)!=0&((f[a+20>>2]|0)!=0&((f[a+16>>2]|0)!=0&((n|0)>=(m|0)&((k|0)>=(m|0)&((l|0)>=(c|0)&((j>>>0<0|((j|0)==0?q>>>0<=(f[a+48>>2]|0)>>>0:0))&(t>>>0<0|((t|0)==0?v>>>0<=(f[a+52>>2]|0)>>>0:0))&(u>>>0<0|((u|0)==0?s>>>0<=(f[a+56>>2]|0)>>>0:0))))))));if((b|0)==12){s=xh(o|0,((o|0)<0)<<31>>31|0,g|0,i|0)|0;u=oh(s|0,I|0,c|0,p|0)|0;p=I;if((f[a+28>>2]|0)!=0&((o|0)>=(c|0)&w&(p>>>0<0|((p|0)==0?u>>>0<=(f[a+60>>2]|0)>>>0:0))))break;else e=2;return e|0}else{if(w)break;else e=2;return e|0}}while(0);e=0;return e|0}function le(a,b){a=a|0;b=b|0;var c=0;if((a|0)==0|(b&-256|0)!=512){c=0;return c|0}b=a;a=b+84|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c=1;return c|0}function me(a){a=a|0;var b=0;if(!a)return;b=a+80|0;if((f[a+12>>2]|0)<1)Gb(f[b>>2]|0);f[b>>2]=0;return}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;c=a+4|0;f[b+4>>2]=f[c>>2];d=a+8|0;f[b+8>>2]=f[d>>2];if(ke(b)|0){e=2;return e|0}g=f[a>>2]|0;i=f[d>>2]|0;j=f[c>>2]|0;k=f[a+16>>2]|0;if(g>>>0<11){oe(k,f[a+20>>2]|0,f[b+16>>2]|0,f[b+20>>2]|0,X(h[5320+g>>0]|0,j)|0,i);e=0;return e|0}oe(k,f[a+32>>2]|0,f[b+16>>2]|0,f[b+32>>2]|0,j,i);oe(f[a+20>>2]|0,f[a+36>>2]|0,f[b+20>>2]|0,f[b+36>>2]|0,((f[c>>2]|0)+1|0)/2|0,((f[d>>2]|0)+1|0)/2|0);oe(f[a+24>>2]|0,f[a+40>>2]|0,f[b+24>>2]|0,f[b+40>>2]|0,((f[c>>2]|0)+1|0)/2|0,((f[d>>2]|0)+1|0)/2|0);i=f[a>>2]|0;j=i+-1|0;if(j>>>0<12){if(!((i+-7|0)>>>0<4|(2077>>>(j&65535)&1)!=0)){e=0;return e|0}}else if((i+-7|0)>>>0>=4){e=0;return e|0}oe(f[a+28>>2]|0,f[a+44>>2]|0,f[b+28>>2]|0,f[b+44>>2]|0,f[c>>2]|0,f[d>>2]|0);e=0;return e|0}function oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((f|0)>0){g=f;h=a;i=c}else return;while(1){sh(i|0,h|0,e|0)|0;if((g|0)>1){g=g+-1|0;h=h+b|0;i=i+d|0}else break}return}function pe(a,b){a=a|0;b=b|0;var c=0;if((f[a+12>>2]|0)>1?(b|0?((f[a>>2]|0)+-7|0)>>>0<4:0):0)c=(f[b+8>>2]|0)!=0;else c=0;return c&1|0}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;if(!a)return;c=f[a+44>>2]|0;do if((c|0)>=0){if((c|0)<=100){d=c*255|0;if((d|0)>99)e=(d|0)/100|0;else break}else e=255;d=f[b+800>>2]|0;if((d|0)<12){g=(X(h[5333+((d|0)>0?d:0)>>0]|0,e)|0)>>3;f[b+804>>2]=g;i=g}else i=f[b+804>>2]|0;g=f[b+832>>2]|0;if((g|0)<12){d=(X(h[5333+((g|0)>0?g:0)>>0]|0,e)|0)>>3;f[b+836>>2]=d;j=d}else j=f[b+836>>2]|0;d=f[b+864>>2]|0;if((d|0)<12){g=(X(h[5333+((d|0)>0?d:0)>>0]|0,e)|0)>>3;f[b+868>>2]=g;k=g}else k=f[b+868>>2]|0;g=f[b+896>>2]|0;if((g|0)<12){d=(X(h[5333+((g|0)>0?g:0)>>0]|0,e)|0)>>3;f[b+900>>2]=d;l=d}else l=f[b+900>>2]|0;if(l|(k|(j|i))|0){re(b+544|0,1.0);f[b+540>>2]=1}}while(0);i=f[a+52>>2]|0;a=b+2372|0;f[a>>2]=i;if((i|0)<=100)if((i|0)<0)m=0;else return;else m=100;f[a>>2]=m;return}function re(a,b){a=a|0;b=+b;var c=0;sh(a+8|0,152,220)|0;f[a>>2]=0;f[a+4>>2]=31;if(!(b<0.0))if(b>1.0)c=256;else c=~~(b*256.0)>>>0;else c=0;f[a+228>>2]=c;return}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;c=a+160|0;if((f[a+2308>>2]|0)>0?(d=f[a+2300>>2]|0,(d|0)>=(f[a+300>>2]|0)):0)e=(d|0)<=(f[a+308>>2]|0);else e=0;d=e&1;g=a+148|0;if(!(f[g>>2]|0)){f[a+164>>2]=f[a+2300>>2];f[a+168>>2]=d;te(a,c);h=ue(a,b)|0;return h|0}i=a+124|0;j=(ve()|0)+8|0;if(!((qb[f[j>>2]&7](i)|0)&1)){h=0;return h|0}h=a+180|0;j=b;b=h+108|0;do{f[h>>2]=f[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(b|0));j=a+152|0;f[c>>2]=f[j>>2];f[a+164>>2]=f[a+2300>>2];f[a+168>>2]=d;if((f[g>>2]|0)==2){g=a+176|0;d=f[g>>2]|0;h=a+2304|0;f[g>>2]=f[h>>2];f[h>>2]=d}else te(a,c);if(!e){k=ve()|0;l=k+12|0;m=f[l>>2]|0;nb[m&31](i);n=f[j>>2]|0;o=n+1|0;p=a+156|0;q=f[p>>2]|0;r=(o|0)==(q|0);s=r?0:o;f[j>>2]=s;return 1}e=a+172|0;c=f[e>>2]|0;d=a+2260|0;f[e>>2]=f[d>>2];f[d>>2]=c;k=ve()|0;l=k+12|0;m=f[l>>2]|0;nb[m&31](i);n=f[j>>2]|0;o=n+1|0;p=a+156|0;q=f[p>>2]|0;r=(o|0)==(q|0);s=r?0:o;f[j>>2]=s;return 1}
  function Pg(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;i=u;u=u+64|0;j=i+16|0;k=i;l=i+24|0;m=i+8|0;n=i+20|0;f[j>>2]=c;o=(a|0)!=0;q=l+40|0;r=q;s=l+39|0;l=m+4|0;t=0;v=0;w=0;x=c;a:while(1){do if((v|0)>-1)if((t|0)>(2147483647-v|0)){c=yg()|0;f[c>>2]=75;y=-1;break}else{y=t+v|0;break}else y=v;while(0);c=b[x>>0]|0;if(!(c<<24>>24)){z=87;break}else{A=c;B=x}b:while(1){switch(A<<24>>24){case 37:{C=B;D=B;z=9;break b;break}case 0:{E=B;F=B;break b;break}default:{}}c=B+1|0;f[j>>2]=c;A=b[c>>0]|0;B=c}c:do if((z|0)==9)while(1){z=0;if((b[D+1>>0]|0)!=37){E=C;F=D;break c}c=C+1|0;G=D+2|0;f[j>>2]=G;if((b[G>>0]|0)==37){C=c;D=G;z=9}else{E=c;F=G;break}}while(0);G=E-x|0;if(o)Sg(a,x,G);if(G|0){t=G;v=y;x=F;continue}G=F+1|0;c=(b[G>>0]|0)+-48|0;if(c>>>0<10){H=(b[F+2>>0]|0)==36;J=H?c:-1;K=H?1:w;L=H?F+3|0:G}else{J=-1;K=w;L=G}f[j>>2]=L;G=b[L>>0]|0;H=(G<<24>>24)+-32|0;d:do if(H>>>0<32){c=0;M=G;N=H;O=L;while(1){P=1<<N;if(!(P&75913)){Q=c;R=M;S=O;break d}T=P|c;P=O+1|0;f[j>>2]=P;U=b[P>>0]|0;N=(U<<24>>24)+-32|0;if(N>>>0>=32){Q=T;R=U;S=P;break}else{c=T;M=U;O=P}}}else{Q=0;R=G;S=L}while(0);if(R<<24>>24==42){G=S+1|0;H=(b[G>>0]|0)+-48|0;if(H>>>0<10?(b[S+2>>0]|0)==36:0){f[h+(H<<2)>>2]=10;V=f[g+((b[G>>0]|0)+-48<<3)>>2]|0;W=1;X=S+3|0}else{if(K|0){Y=-1;break}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);O=f[H>>2]|0;f[e>>2]=H+4;V=O;W=0;X=G}else{V=0;W=0;X=G}}f[j>>2]=X;G=(V|0)<0;Z=G?0-V|0:V;_=G?Q|8192:Q;$=W;aa=X}else{G=Tg(j)|0;if((G|0)<0){Y=-1;break}Z=G;_=Q;$=K;aa=f[j>>2]|0}do if((b[aa>>0]|0)==46){if((b[aa+1>>0]|0)!=42){f[j>>2]=aa+1;G=Tg(j)|0;ba=G;ca=f[j>>2]|0;break}G=aa+2|0;O=(b[G>>0]|0)+-48|0;if(O>>>0<10?(b[aa+3>>0]|0)==36:0){f[h+(O<<2)>>2]=10;O=f[g+((b[G>>0]|0)+-48<<3)>>2]|0;H=aa+4|0;f[j>>2]=H;ba=O;ca=H;break}if($|0){Y=-1;break a}if(o){H=(f[e>>2]|0)+(4-1)&~(4-1);O=f[H>>2]|0;f[e>>2]=H+4;da=O}else da=0;f[j>>2]=G;ba=da;ca=G}else{ba=-1;ca=aa}while(0);G=0;O=ca;while(1){if(((b[O>>0]|0)+-65|0)>>>0>57){Y=-1;break a}ea=O+1|0;f[j>>2]=ea;fa=b[(b[O>>0]|0)+-65+(10988+(G*58|0))>>0]|0;ga=fa&255;if((ga+-1|0)>>>0<8){G=ga;O=ea}else break}if(!(fa<<24>>24)){Y=-1;break}H=(J|0)>-1;do if(fa<<24>>24==19)if(H){Y=-1;break a}else z=49;else{if(H){f[h+(J<<2)>>2]=ga;M=g+(J<<3)|0;c=f[M+4>>2]|0;N=k;f[N>>2]=f[M>>2];f[N+4>>2]=c;z=49;break}if(!o){Y=0;break a}Ug(k,ga,e)}while(0);if((z|0)==49?(z=0,!o):0){t=0;v=y;w=$;x=ea;continue}H=b[O>>0]|0;c=(G|0)!=0&(H&15|0)==3?H&-33:H;H=_&-65537;N=(_&8192|0)==0?_:H;e:do switch(c|0){case 110:{switch((G&255)<<24>>24){case 0:{f[f[k>>2]>>2]=y;t=0;v=y;w=$;x=ea;continue a;break}case 1:{f[f[k>>2]>>2]=y;t=0;v=y;w=$;x=ea;continue a;break}case 2:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=0;v=y;w=$;x=ea;continue a;break}case 3:{d[f[k>>2]>>1]=y;t=0;v=y;w=$;x=ea;continue a;break}case 4:{b[f[k>>2]>>0]=y;t=0;v=y;w=$;x=ea;continue a;break}case 6:{f[f[k>>2]>>2]=y;t=0;v=y;w=$;x=ea;continue a;break}case 7:{M=f[k>>2]|0;f[M>>2]=y;f[M+4>>2]=((y|0)<0)<<31>>31;t=0;v=y;w=$;x=ea;continue a;break}default:{t=0;v=y;w=$;x=ea;continue a}}break}case 112:{ha=120;ia=ba>>>0>8?ba:8;ja=N|8;z=61;break}case 88:case 120:{ha=c;ia=ba;ja=N;z=61;break}case 111:{M=k;P=f[M>>2]|0;U=f[M+4>>2]|0;M=Wg(P,U,q)|0;T=r-M|0;ka=M;la=0;ma=11452;na=(N&8|0)==0|(ba|0)>(T|0)?ba:T+1|0;oa=N;pa=P;qa=U;z=67;break}case 105:case 100:{U=k;P=f[U>>2]|0;T=f[U+4>>2]|0;if((T|0)<0){U=nh(0,0,P|0,T|0)|0;M=I;ra=k;f[ra>>2]=U;f[ra+4>>2]=M;sa=1;ta=11452;ua=U;va=M;z=66;break e}else{sa=(N&2049|0)!=0&1;ta=(N&2048|0)==0?((N&1|0)==0?11452:11454):11453;ua=P;va=T;z=66;break e}break}case 117:{T=k;sa=0;ta=11452;ua=f[T>>2]|0;va=f[T+4>>2]|0;z=66;break}case 99:{b[s>>0]=f[k>>2];wa=s;xa=0;ya=11452;za=q;Aa=1;Ba=H;break}case 109:{T=yg()|0;Ca=Kg(f[T>>2]|0)|0;z=71;break}case 115:{T=f[k>>2]|0;Ca=T|0?T:11462;z=71;break}case 67:{f[m>>2]=f[k>>2];f[l>>2]=0;f[k>>2]=m;Da=-1;Ea=m;z=75;break}case 83:{T=f[k>>2]|0;if(!ba){Yg(a,32,Z,0,N);Fa=0;z=84}else{Da=ba;Ea=T;z=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{t=_g(a,+p[k>>3],Z,ba,N,c)|0;v=y;w=$;x=ea;continue a;break}default:{wa=x;xa=0;ya=11452;za=q;Aa=ba;Ba=N}}while(0);f:do if((z|0)==61){z=0;c=k;G=f[c>>2]|0;O=f[c+4>>2]|0;c=Vg(G,O,q,ha&32)|0;T=(ja&8|0)==0|(G|0)==0&(O|0)==0;ka=c;la=T?0:2;ma=T?11452:11452+(ha>>4)|0;na=ia;oa=ja;pa=G;qa=O;z=67}else if((z|0)==66){z=0;ka=Xg(ua,va,q)|0;la=sa;ma=ta;na=ba;oa=N;pa=ua;qa=va;z=67}else if((z|0)==71){z=0;O=Fg(Ca,0,ba)|0;G=(O|0)==0;wa=Ca;xa=0;ya=11452;za=G?Ca+ba|0:O;Aa=G?ba:O-Ca|0;Ba=H}else if((z|0)==75){z=0;O=Ea;G=0;T=0;while(1){c=f[O>>2]|0;if(!c){Ga=G;Ha=T;break}P=Zg(n,c)|0;if((P|0)<0|P>>>0>(Da-G|0)>>>0){Ga=G;Ha=P;break}c=P+G|0;if(Da>>>0>c>>>0){O=O+4|0;G=c;T=P}else{Ga=c;Ha=P;break}}if((Ha|0)<0){Y=-1;break a}Yg(a,32,Z,Ga,N);if(!Ga){Fa=0;z=84}else{T=Ea;G=0;while(1){O=f[T>>2]|0;if(!O){Fa=Ga;z=84;break f}P=Zg(n,O)|0;G=P+G|0;if((G|0)>(Ga|0)){Fa=Ga;z=84;break f}Sg(a,n,P);if(G>>>0>=Ga>>>0){Fa=Ga;z=84;break}else T=T+4|0}}}while(0);if((z|0)==67){z=0;H=(pa|0)!=0|(qa|0)!=0;T=(na|0)!=0|H;G=((H^1)&1)+(r-ka)|0;wa=T?ka:q;xa=la;ya=ma;za=q;Aa=T?((na|0)>(G|0)?na:G):na;Ba=(na|0)>-1?oa&-65537:oa}else if((z|0)==84){z=0;Yg(a,32,Z,Fa,N^8192);t=(Z|0)>(Fa|0)?Z:Fa;v=y;w=$;x=ea;continue}G=za-wa|0;T=(Aa|0)<(G|0)?G:Aa;H=T+xa|0;P=(Z|0)<(H|0)?H:Z;Yg(a,32,P,H,Ba);Sg(a,ya,xa);Yg(a,48,P,H,Ba^65536);Yg(a,48,T,G,0);Sg(a,wa,G);Yg(a,32,P,H,Ba^8192);t=P;v=y;w=$;x=ea}g:do if((z|0)==87)if(!a)if(!w)Y=0;else{ea=1;while(1){x=f[h+(ea<<2)>>2]|0;if(!x){Ia=ea;break}Ug(g+(ea<<3)|0,x,e);ea=ea+1|0;if((ea|0)>=10){Y=1;break g}}while(1){if(f[h+(Ia<<2)>>2]|0){Y=-1;break g}Ia=Ia+1|0;if((Ia|0)>=10){Y=1;break}}}else Y=y;while(0);u=i;return Y|0}function Qg(a){a=a|0;return 0}function Rg(a){a=a|0;return}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))eh(b,c,a)|0;return}function Tg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=0;g=c;c=d;while(1){d=c+(e*10|0)|0;g=g+1|0;f[a>>2]=g;c=(b[g>>0]|0)+-48|0;if(c>>>0>=10){h=d;break}else e=d}}else h=0;return h|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=e;break a;break}case 10:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a;break}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);e=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=e;f[d+4>>2]=0;break a;break}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);e=d;g=f[e>>2]|0;h=f[e+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=g;f[d+4>>2]=h;break a;break}case 13:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&65535)<<16>>16;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 14:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&65535;f[h+4>>2]=0;break a;break}case 15:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=(d&255)<<24>>24;d=a;f[d>>2]=h;f[d+4>>2]=((h|0)<0)<<31>>31;break a;break}case 16:{h=(f[c>>2]|0)+(4-1)&~(4-1);d=f[h>>2]|0;f[c>>2]=h+4;h=a;f[h>>2]=d&255;f[h+4>>2]=0;break a;break}case 17:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}case 18:{h=(f[c>>2]|0)+(8-1)&~(8-1);i=+p[h>>3];f[c>>2]=h+8;p[a>>3]=i;break a;break}default:break a}while(0);while(0);return}function Vg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if((a|0)==0&(c|0)==0)f=d;else{g=d;d=c;c=a;while(1){a=g+-1|0;b[a>>0]=h[11504+(c&15)>>0]|0|e;c=rh(c|0,d|0,4)|0;d=I;if((c|0)==0&(d|0)==0){f=a;break}else g=a}}return f|0}function Wg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;if((a|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=a;while(1){a=f+-1|0;b[a>>0]=c&7|48;c=rh(c|0,d|0,3)|0;d=I;if((c|0)==0&(d|0)==0){e=a;break}else f=a}}return e|0}function Xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295){e=d;f=a;g=c;while(1){c=Bh(f|0,g|0,10,0)|0;e=e+-1|0;b[e>>0]=c&255|48;c=f;f=vh(f|0,g|0,10,0)|0;if(!(g>>>0>9|(g|0)==9&c>>>0>4294967295))break;else g=I}h=f;i=e}else{h=a;i=d}if(!h)j=i;else{d=h;h=i;while(1){i=h+-1|0;b[i>>0]=(d>>>0)%10|0|48;if(d>>>0<10){j=i;break}else{d=(d>>>0)/10|0;h=i}}}return j|0}function Yg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=u;u=u+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ph(g|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Sg(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Sg(a,g,h)}u=f;return}function Zg(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ch(a,b,0)|0;return c|0}function _g(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0,F=0,G=0,H=0.0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0.0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0;j=u;u=u+560|0;k=j+8|0;l=j;m=j+524|0;n=m;o=j+512|0;f[l>>2]=0;p=o+12|0;$g(c)|0;if((I|0)<0){q=-c;r=1;s=11469}else{q=c;r=(g&2049|0)!=0&1;s=(g&2048|0)==0?((g&1|0)==0?11470:11475):11472}$g(q)|0;t=I&2146435072;do if(t>>>0<2146435072|(t|0)==2146435072&0<0){c=+ah(q,l)*2.0;v=c!=0.0;if(v)f[l>>2]=(f[l>>2]|0)+-1;w=i|32;if((w|0)==97){x=i&32;y=(x|0)==0?s:s+9|0;z=r|2;A=12-e|0;do if(!(e>>>0>11|(A|0)==0)){B=8.0;C=A;do{C=C+-1|0;B=B*16.0}while((C|0)!=0);if((b[y>>0]|0)==45){D=-(B+(-c-B));break}else{D=c+B-B;break}}else D=c;while(0);A=f[l>>2]|0;C=(A|0)<0?0-A|0:A;E=Xg(C,((C|0)<0)<<31>>31,p)|0;if((E|0)==(p|0)){C=o+11|0;b[C>>0]=48;F=C}else F=E;b[F+-1>>0]=(A>>31&2)+43;A=F+-2|0;b[A>>0]=i+15;E=(e|0)<1;C=(g&8|0)==0;G=m;H=D;while(1){J=~~H;K=G+1|0;b[G>>0]=h[11504+J>>0]|x;H=(H-+(J|0))*16.0;if((K-n|0)==1?!(C&(E&H==0.0)):0){b[K>>0]=46;L=G+2|0}else L=K;if(!(H!=0.0))break;else G=L}G=L-n|0;E=p-A|0;C=(e|0)!=0&(G+-2|0)<(e|0)?e+2|0:G;x=E+z+C|0;Yg(a,32,d,x,g);Sg(a,y,z);Yg(a,48,d,x,g^65536);Sg(a,m,G);Yg(a,48,C-G|0,0,0);Sg(a,A,E);Yg(a,32,d,x,g^8192);M=x;break}x=(e|0)<0?6:e;if(v){E=(f[l>>2]|0)+-28|0;f[l>>2]=E;N=c*268435456.0;O=E}else{N=c;O=f[l>>2]|0}E=(O|0)<0?k:k+288|0;G=E;H=N;do{C=~~H>>>0;f[G>>2]=C;G=G+4|0;H=(H-+(C>>>0))*1.0e9}while(H!=0.0);if((O|0)>0){v=E;A=G;z=O;while(1){y=(z|0)<29?z:29;C=A+-4|0;if(C>>>0>=v>>>0){K=C;C=0;do{J=zh(f[K>>2]|0,0,y|0)|0;P=oh(J|0,I|0,C|0,0)|0;J=I;Q=Bh(P|0,J|0,1e9,0)|0;f[K>>2]=Q;C=vh(P|0,J|0,1e9,0)|0;K=K+-4|0}while(K>>>0>=v>>>0);if(C){K=v+-4|0;f[K>>2]=C;R=K}else R=v}else R=v;K=A;while(1){if(K>>>0<=R>>>0)break;J=K+-4|0;if(!(f[J>>2]|0))K=J;else break}C=(f[l>>2]|0)-y|0;f[l>>2]=C;if((C|0)>0){v=R;A=K;z=C}else{S=R;T=K;U=C;break}}}else{S=E;T=G;U=O}if((U|0)<0){z=((x+25|0)/9|0)+1|0;A=(w|0)==102;v=S;C=T;J=U;while(1){P=0-J|0;Q=(P|0)<9?P:9;if(v>>>0<C>>>0){P=(1<<Q)+-1|0;V=1e9>>>Q;W=0;Y=v;do{Z=f[Y>>2]|0;f[Y>>2]=(Z>>>Q)+W;W=X(Z&P,V)|0;Y=Y+4|0}while(Y>>>0<C>>>0);Y=(f[v>>2]|0)==0?v+4|0:v;if(!W){_=Y;$=C}else{f[C>>2]=W;_=Y;$=C+4|0}}else{_=(f[v>>2]|0)==0?v+4|0:v;$=C}Y=A?E:_;V=($-Y>>2|0)>(z|0)?Y+(z<<2)|0:$;J=(f[l>>2]|0)+Q|0;f[l>>2]=J;if((J|0)>=0){aa=_;ba=V;break}else{v=_;C=V}}}else{aa=S;ba=T}C=E;if(aa>>>0<ba>>>0){v=(C-aa>>2)*9|0;J=f[aa>>2]|0;if(J>>>0<10)ca=v;else{z=v;v=10;while(1){v=v*10|0;A=z+1|0;if(J>>>0<v>>>0){ca=A;break}else z=A}}}else ca=0;z=(w|0)==103;v=(x|0)!=0;J=x-((w|0)!=102?ca:0)+((v&z)<<31>>31)|0;if((J|0)<(((ba-C>>2)*9|0)+-9|0)){A=J+9216|0;J=E+4+(((A|0)/9|0)+-1024<<2)|0;G=((A|0)%9|0)+1|0;if((G|0)<9){A=G;G=10;while(1){V=G*10|0;A=A+1|0;if((A|0)==9){da=V;break}else G=V}}else da=10;G=f[J>>2]|0;A=(G>>>0)%(da>>>0)|0;w=(J+4|0)==(ba|0);if(!(w&(A|0)==0)){B=(((G>>>0)/(da>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;V=(da|0)/2|0;H=A>>>0<V>>>0?.5:w&(A|0)==(V|0)?1.0:1.5;if(!r){ea=H;fa=B}else{V=(b[s>>0]|0)==45;ea=V?-H:H;fa=V?-B:B}V=G-A|0;f[J>>2]=V;if(fa+ea!=fa){A=V+da|0;f[J>>2]=A;if(A>>>0>999999999){A=aa;V=J;while(1){G=V+-4|0;f[V>>2]=0;if(G>>>0<A>>>0){w=A+-4|0;f[w>>2]=0;ga=w}else ga=A;w=(f[G>>2]|0)+1|0;f[G>>2]=w;if(w>>>0>999999999){A=ga;V=G}else{ha=ga;ia=G;break}}}else{ha=aa;ia=J}V=(C-ha>>2)*9|0;A=f[ha>>2]|0;if(A>>>0<10){ja=ia;ka=V;la=ha}else{G=V;V=10;while(1){V=V*10|0;w=G+1|0;if(A>>>0<V>>>0){ja=ia;ka=w;la=ha;break}else G=w}}}else{ja=J;ka=ca;la=aa}}else{ja=J;ka=ca;la=aa}G=ja+4|0;ma=ka;na=ba>>>0>G>>>0?G:ba;oa=la}else{ma=ca;na=ba;oa=aa}G=na;while(1){if(G>>>0<=oa>>>0){pa=0;break}V=G+-4|0;if(!(f[V>>2]|0))G=V;else{pa=1;break}}J=0-ma|0;do if(z){V=((v^1)&1)+x|0;if((V|0)>(ma|0)&(ma|0)>-5){qa=i+-1|0;ra=V+-1-ma|0}else{qa=i+-2|0;ra=V+-1|0}V=g&8;if(!V){if(pa?(A=f[G+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){w=0;Y=10;while(1){Y=Y*10|0;P=w+1|0;if((A>>>0)%(Y>>>0)|0|0){sa=P;break}else w=P}}else sa=0;else sa=9;w=((G-C>>2)*9|0)+-9|0;if((qa|32|0)==102){Y=w-sa|0;A=(Y|0)>0?Y:0;ta=qa;ua=(ra|0)<(A|0)?ra:A;va=0;break}else{A=w+ma-sa|0;w=(A|0)>0?A:0;ta=qa;ua=(ra|0)<(w|0)?ra:w;va=0;break}}else{ta=qa;ua=ra;va=V}}else{ta=i;ua=x;va=g&8}while(0);x=ua|va;C=(x|0)!=0&1;v=(ta|32|0)==102;if(v){wa=0;xa=(ma|0)>0?ma:0}else{z=(ma|0)<0?J:ma;w=Xg(z,((z|0)<0)<<31>>31,p)|0;z=p;if((z-w|0)<2){A=w;while(1){Y=A+-1|0;b[Y>>0]=48;if((z-Y|0)<2)A=Y;else{ya=Y;break}}}else ya=w;b[ya+-1>>0]=(ma>>31&2)+43;A=ya+-2|0;b[A>>0]=ta;wa=A;xa=z-A|0}A=r+1+ua+C+xa|0;Yg(a,32,d,A,g);Sg(a,s,r);Yg(a,48,d,A,g^65536);if(v){J=oa>>>0>E>>>0?E:oa;Y=m+9|0;Q=Y;W=m+8|0;P=J;do{K=Xg(f[P>>2]|0,0,Y)|0;if((P|0)==(J|0))if((K|0)==(Y|0)){b[W>>0]=48;za=W}else za=K;else if(K>>>0>m>>>0){ph(m|0,48,K-n|0)|0;y=K;while(1){Z=y+-1|0;if(Z>>>0>m>>>0)y=Z;else{za=Z;break}}}else za=K;Sg(a,za,Q-za|0);P=P+4|0}while(P>>>0<=E>>>0);if(x|0)Sg(a,11520,1);if(P>>>0<G>>>0&(ua|0)>0){E=ua;Q=P;while(1){W=Xg(f[Q>>2]|0,0,Y)|0;if(W>>>0>m>>>0){ph(m|0,48,W-n|0)|0;J=W;while(1){v=J+-1|0;if(v>>>0>m>>>0)J=v;else{Aa=v;break}}}else Aa=W;Sg(a,Aa,(E|0)<9?E:9);Q=Q+4|0;J=E+-9|0;if(!(Q>>>0<G>>>0&(E|0)>9)){Ba=J;break}else E=J}}else Ba=ua;Yg(a,48,Ba+9|0,9,0)}else{E=pa?G:oa+4|0;if((ua|0)>-1){Q=m+9|0;Y=(va|0)==0;P=Q;x=0-n|0;J=m+8|0;K=ua;v=oa;while(1){C=Xg(f[v>>2]|0,0,Q)|0;if((C|0)==(Q|0)){b[J>>0]=48;Ca=J}else Ca=C;do if((v|0)==(oa|0)){C=Ca+1|0;Sg(a,Ca,1);if(Y&(K|0)<1){Da=C;break}Sg(a,11520,1);Da=C}else{if(Ca>>>0<=m>>>0){Da=Ca;break}ph(m|0,48,Ca+x|0)|0;C=Ca;while(1){z=C+-1|0;if(z>>>0>m>>>0)C=z;else{Da=z;break}}}while(0);W=P-Da|0;Sg(a,Da,(K|0)>(W|0)?W:K);C=K-W|0;v=v+4|0;if(!(v>>>0<E>>>0&(C|0)>-1)){Ea=C;break}else K=C}}else Ea=ua;Yg(a,48,Ea+18|0,18,0);Sg(a,wa,p-wa|0)}Yg(a,32,d,A,g^8192);M=A}else{K=(i&32|0)!=0;E=r+3|0;Yg(a,32,d,E,g&-65537);Sg(a,s,r);Sg(a,q!=q|0.0!=0.0?(K?11496:11500):K?11488:11492,3);Yg(a,32,d,E,g^8192);M=E}while(0);u=j;return ((M|0)<(d|0)?d:M)|0}function $g(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function ah(a,b){a=+a;b=b|0;return +(+bh(a,b))}function bh(a,b){a=+a;b=b|0;var c=0,d=0,e=0,g=0.0,h=0.0,i=0,j=0.0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=rh(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){g=+bh(a*18446744073709551616.0,b);h=g;i=(f[b>>2]|0)+-64|0}else{h=a;i=0}f[b>>2]=i;j=h;break}case 2047:{j=a;break}default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;j=+p[s>>3]}}return +j}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;do if(a){if(c>>>0<128){b[a>>0]=c;e=1;break}d=(dh()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;e=1;break}else{d=yg()|0;f[d>>2]=84;e=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;e=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;e=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;e=4;break}else{d=yg()|0;f[d>>2]=84;e=-1;break}}else e=1;while(0);return e|0}function dh(){return Ag()|0}function eh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d+16|0;g=f[e>>2]|0;if(!g)if(!(fh(d)|0)){h=f[e>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=d+20|0;e=f[g>>2]|0;k=e;if((h-e|0)>>>0<c>>>0){j=lb[f[d+36>>2]&15](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){e=c;while(1){if(!e){l=0;m=a;n=c;o=k;break b}p=e+-1|0;if((b[a+p>>0]|0)==10)break;else e=p}p=lb[f[d+36>>2]&15](d,a,e)|0;if(p>>>0<e>>>0){j=p;break a}l=e;m=a+e|0;n=c-e|0;o=f[g>>2]|0}else{l=0;m=a;n=c;o=k}while(0);sh(o|0,m|0,n|0)|0;f[g>>2]=(f[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function fh(a){a=a|0;var c=0,d=0,e=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;d=f[a>>2]|0;if(!(d&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);e=0}else{f[a>>2]=d|32;e=-1}return e|0}function gh(){Ya(13092);return 13100}function hh(){Ra(13092);return}function ih(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;do if(a){if((f[a+76>>2]|0)<=-1){b=jh(a)|0;break}c=(Qg(a)|0)==0;d=jh(a)|0;if(c)b=d;else{Rg(a);b=d}}else{if(!(f[229]|0))e=0;else e=ih(f[229]|0)|0;d=gh()|0;c=f[d>>2]|0;if(!c)g=e;else{d=c;c=e;while(1){if((f[d+76>>2]|0)>-1)h=Qg(d)|0;else h=0;if((f[d+20>>2]|0)>>>0>(f[d+28>>2]|0)>>>0)i=jh(d)|0|c;else i=c;if(h|0)Rg(d);d=f[d+56>>2]|0;if(!d){g=i;break}else c=i}}hh();b=g}while(0);return b|0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;b=a+20|0;c=a+28|0;if((f[b>>2]|0)>>>0>(f[c>>2]|0)>>>0?(lb[f[a+36>>2]&15](a,0,0)|0,(f[b>>2]|0)==0):0)d=-1;else{e=a+4|0;g=f[e>>2]|0;h=a+8|0;i=f[h>>2]|0;if(g>>>0<i>>>0)lb[f[a+40>>2]&15](a,g-i|0,1)|0;f[a+16>>2]=0;f[c>>2]=0;f[b>>2]=0;f[h>>2]=0;f[e>>2]=0;d=0}return d|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;e=X(c,b)|0;g=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){c=(Qg(d)|0)==0;h=eh(a,e,d)|0;if(c)i=h;else{Rg(d);i=h}}else i=eh(a,e,d)|0;if((i|0)==(e|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;c=Og(a,b,e)|0;u=d;return c|0}function mh(){}function nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (I=e,a-c>>>0|0)|0}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (I=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function ph(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;e=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}g=e&-4|0;h=g-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(h|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(g|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(e|0)){b[a>>0]=c;a=a+1|0}return e-d|0}function qh(a){a=a|0;return 0}function rh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}I=0;return b>>>c-32|0}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ma(a|0,c|0,d|0)|0;e=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return e|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}h=g&-4|0;d=h-64|0;while((a|0)<=(d|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(h|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{h=g-4|0;while((a|0)<(h|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return e|0}function th(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function uh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=a;h=b;i=h;j=c;k=d;l=k;if(!i){m=(e|0)!=0;if(!l){if(m){f[e>>2]=(g>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (I=n,o)|0}else{if(!m){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;o=0;return (I=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(_(l|0)|0)-(_(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!e){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}r=j-1|0;if(r&j|0){s=(_(j|0)|0)+33-(_(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(e|0){f[e>>2]=r&g;f[e+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (I=n,o)|0}else{r=th(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (I=n,o)|0}}else{if(m){if(e|0){f[e>>2]=(i>>>0)%(j>>>0);f[e+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (I=n,o)|0}if(!g){if(e|0){f[e>>2]=0;f[e+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (I=n,o)|0}r=l-1|0;if(!(r&l)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=r&i|b&0}n=0;o=i>>>((th(l|0)|0)>>>0);return (I=n,o)|0}r=(_(l|0)|0)-(_(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!e){n=0;o=0;return (I=n,o)|0}f[e>>2]=a|0;f[e+4>>2]=h|b&0;n=0;o=0;return (I=n,o)|0}while(0);if(!t){B=x;C=w;D=v;E=u;F=0;G=0}else{b=c|0|0;c=k|d&0;d=oh(b|0,c|0,-1,-1)|0;k=I;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;nh(d|0,k|0,g|0,a|0)|0;i=I;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=nh(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&c|0)|0;w=I;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;E=v;F=0;G=t}t=C;C=0;if(e|0){f[e>>2]=E;f[e+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|F;o=(t<<1|0>>>31)&-2|G;return (I=n,o)|0}function vh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uh(a,b,c,d,0)|0}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=X(d,c)|0;f=a>>>16;a=(e>>>16)+(X(d,f)|0)|0;d=b>>>16;b=X(d,c)|0;return (I=(a>>>16)+(X(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function xh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=wh(e,a)|0;f=I;return (I=(X(b,a)|0)+(X(d,e)|0)+f|f&0,c|0|0)|0}function yh(a){a=a|0;var b=0,c=0;a=a+15&-16|0;b=f[r>>2]|0;c=b+a|0;if((a|0)>0&(c|0)<(b|0)|(c|0)<0){da()|0;Ca(12);return -1}f[r>>2]=c;if((c|0)>(ca()|0)?(ba()|0)==0:0){f[r>>2]=b;Ca(12);return -1}return b|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}I=a<<c-32;return 0}function Ah(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else sh(a,c,d)|0;return a|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e|0;uh(a,b,c,d,g)|0;u=e;return (I=f[g+4>>2]|0,f[g>>2]|0)|0}function Ch(a){a=a|0;return 0}function Dh(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return lb[a&15](b|0,c|0,d|0)|0}function Fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mb[a&31](b|0,c|0,d|0,e|0,f|0)}function Gh(a,b){a=a|0;b=b|0;nb[a&31](b|0)}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;ob[a&15](b|0,c|0)}function Ih(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Jh(a,b){a=a|0;b=b|0;return qb[a&7](b|0)|0}function Kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&31](b|0,c|0,d|0)}function Lh(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;sb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&1](b|0,c|0,d|0,e|0)|0}function Nh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Oh(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&31](b|0,c|0)|0}function Ph(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;wb[a&31](b|0,c|0,d|0,e|0)}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;$(0);return 0}function Rh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(1)}function Sh(a){a=a|0;$(2)}function Th(a,b){a=a|0;b=b|0;$(3)}function Uh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(4);return 0}function Vh(a){a=a|0;$(5);return 0}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;$(6)}function Xh(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;$(7)}function Yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(8);return 0}function Zh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(9)}function _h(a,b){a=a|0;b=b|0;$(10);return 0}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(11)}
  
  // EMSCRIPTEN_END_FUNCS
  var lb=[Qh,vg,wg,Cg,kd,od,ud,td,md,ld,vd,Qh,Qh,Qh,Qh,Qh];var mb=[Rh,fe,ge,he,fc,Jd,Kd,Ld,Md,Nd,Od,Pd,xd,yd,zd,Ad,Bd,Cd,Dd,Re,Se,Te,_e,Yf,cg,Rh,Rh,Rh,Rh,Rh,Rh,Rh];var nb=[Sh,we,ze,Ae,Be,ed,Sd,Td,bf,cf,df,ef,ff,gf,hf,jf,kf,lf,mf,nf,of,pf,qf,rf,sf,tf,uf,vf,wf,xf,yf,zf];var ob=[Th,Yb,Ud,Vd,Le,Ne,Oe,Pe,Qe,Uf,Th,Th,Th,Th,Th,Th];var pb=[Uh,gc,ic,lg,kg,Uh,Uh,Uh];var qb=[Vh,xe,ye,ug,cd,dd,Ce,Vh];var rb=[Wh,bc,jc,Vc,Xc,Yc,Zc,_c,$c,Me,We,Xe,Ye,Ze,Af,Xf,Zf,_f,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh,Wh];var sb=[Xh,Wd,Xd,Yd,Zd,_d,$d,ae];var tb=[Yh,ag];var ub=[Zh,ec,hc,ad,bd,Ue,Ve,$e,af,Zh,Zh,Zh,Zh,Zh,Zh,Zh];var vb=[_h,kc,lc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,id,nd,qd,rd,sd,ue,_h,_h,_h,_h,_h,_h,_h,_h,_h];var wb=[$h,ce,de,ee,cc,dc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Wc,$f,bg,$h,$h,$h,$h,$h,$h,$h,$h,$h];return{_llvm_bswap_i32:Dh,stackSave:yb,_i64Subtract:nh,___udivdi3:vh,dynCall_iiiiiii:Ih,setThrew:Bb,dynCall_viii:Kh,_bitshift64Lshr:rh,_bitshift64Shl:zh,_fflush:ih,dynCall_iii:Oh,_memset:ph,_sbrk:yh,_memcpy:sh,stackAlloc:xb,___muldi3:xh,_WebpToSDL:Eb,dynCall_vii:Hh,___uremdi3:Bh,dynCall_vi:Gh,getTempRet0:Db,setTempRet0:Cb,_i64Add:oh,dynCall_iiii:Eh,_pthread_mutex_unlock:Ch,_emscripten_get_global_libc:Dg,dynCall_iiiii:Mh,dynCall_ii:Jh,dynCall_viiii:Ph,___errno_location:yg,dynCall_viiiii:Fh,_free:sg,runPostSets:mh,dynCall_viiiiii:Nh,establishStackSpace:Ab,_memmove:Ah,stackRestore:zb,_malloc:rg,_pthread_mutex_lock:qh,_emscripten_replace_memory:kb,dynCall_viiiiiiiii:Lh}})
  
  
  // EMSCRIPTEN_END_ASM
  (Module.asmGlobalArg,Module.asmLibraryArg,buffer);var stackSave=Module["stackSave"]=asm["stackSave"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var setThrew=Module["setThrew"]=asm["setThrew"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _WebpToSDL=Module["_WebpToSDL"]=asm["_WebpToSDL"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=asm["_pthread_mutex_unlock"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _malloc=Module["_malloc"]=asm["_malloc"];var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=asm["_pthread_mutex_lock"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;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}run()
  
  
  
  
  
  	this.Module = Module
  	this.webpToSdl = Module.cwrap("WebpToSDL", "number", ["array", "number"])
  	this.setCanvas = function(canvas) { Module.canvas = canvas }
  }
  
  module.exports = {
      Webp: Webp
  }
  