Files
yoga/javascript/build/Release/nbind.js
Maël Nison 6f462a72bf Adds Javascript Support
Summary:
- As mentioned in the title, this PR adds Javascript support to Yoga. Two different builds are included in this PR thanks to [nbind](https://github.com/charto/nbind), which conveniently allow to target both Node.js' native addons and browser environments via asmjs with approximately the same codebase. That should solve #215.

- All tests successfully pass on both codepaths. You can run `yarn test:all` inside the `javascript` directory to test it.

- Because of a bug in nbind, the [following PR](https://github.com/charto/nbind/pull/57) needs to be merged and a new version released before this one can be safely merged as well.

- I had to use `double` types instead of `float` in the C++ bindings because of an Emscripten [bug](https://github.com/kripken/emscripten/issues/3592) where symbols aren't correctly exported when using floats.

- There's some tweaks to do before this PR is 100% ready to merge, but I wanted to have your opinion first. What do you think of this?

 ---

To do:

- [x] Ensure th
Closes https://github.com/facebook/yoga/pull/304

Reviewed By: mikearmstrong001

Differential Revision: D4375187

Pulled By: emilsjolander

fbshipit-source-id: 47248558a9506b7c512b5ef281cd12fe1a60cab7
2017-01-02 02:24:38 -08:00

20 lines
390 KiB
JavaScript

((function(root,wrapper){if(typeof define=="function"&&define.amd)define([],(function(){return wrapper}));else if(typeof module=="object"&&module.exports)module.exports=wrapper;else(root.nbind=root.nbind||{}).init=wrapper}))(this,(function(Module,cb){if(typeof Module=="function"){cb=Module;Module={}}Module.onRuntimeInitialized=(function(init,cb){return(function(){if(init)init.apply(this,arguments);try{Module.ccall("nbind_init")}catch(err){cb(err);return}cb(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})})})(Module.onRuntimeInitialized,cb);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 read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};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 read(){throw"no read() available (jsc?)"}}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}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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 print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function 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"}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}),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){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,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){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,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=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=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=false;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){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}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(typeof _sbrk!=="undefined"&&!_sbrk.called||!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;function UTF8ArrayToString(u8Array,idx){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;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){return func}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(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(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;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=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;if(HEAPU8[0]!==255||HEAPU8[3]!==0)throw"Typed arrays 2 must be run on a little-endian system";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(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){Runtime.dynCall("v",func)}else{Runtime.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){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}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"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function 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=[(function($0,$1,$2,$3,$4,$5,$6,$7){{return _nbind.callbackSignatureList[$0].apply(this,arguments)}})];function _emscripten_asm_const_iiiiiiii(code,a0,a1,a2,a3,a4,a5,a6){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiidddddd(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}function _emscripten_asm_const_iiididi(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_iiiiii(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}STATIC_BASE=8;STATICTOP=STATIC_BASE+11648;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_nbind_cc()})},{func:(function(){__GLOBAL__sub_I_common_cc()})},{func:(function(){__GLOBAL__sub_I_Binding_cc()})});allocate([88,7,0,0,229,30,0,0,128,7,0,0,195,30,0,0,48,0,0,0,0,0,0,0,128,7,0,0,112,30,0,0,16,0,0,0,0,0,0,0,128,7,0,0,149,30,0,0,64,0,0,0,0,0,0,0,88,7,0,0,182,30,0,0,128,7,0,0,242,30,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,0,0,1,0,0,0,0,0,0,0,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,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,87,14,0,0,101,14,0,0,113,14,0,0,125,14,0,0,135,14,0,0,143,14,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,59,41,0,0,60,41,0,0,61,41,0,0,60,41,0,0,61,41,0,0,62,41,0,0,61,41,0,0,63,41,0,0,63,41,0,0,61,41,0,0,64,41,0,0,2,0,0,0,59,41,0,0,91,16,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,176,3,0,0,176,3,0,0,60,41,0,0,60,41,0,0,2,0,0,0,65,41,0,0,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,232,3,0,0,2,0,0,0,66,41,0,0,16,4,0,0,62,41,0,0,16,4,0,0,62,41,0,0,62,41,0,0,48,4,0,0,3,0,0,0,56,4,0,0,1,0,0,0,66,41,0,0,62,41,0,0,61,41,0,0,62,41,0,0,61,41,0,0,60,41,0,0,62,41,0,0,60,41,0,0,61,41,0,0,60,41,0,0,61,41,0,0,60,41,0,0,62,41,0,0,16,4,0,0,64,41,0,0,16,4,0,0,64,41,0,0,62,41,0,0,136,4,0,0,3,0,0,0,67,41,0,0,63,41,0,0,62,41,0,0,60,41,0,0,60,41,0,0,61,41,0,0,65,41,0,0,68,41,0,0,60,41,0,0,60,41,0,0,60,41,0,0,60,41,0,0,60,41,0,0,60,41,0,0,2,0,0,0,69,41,0,0,216,4,0,0,184,19,0,0,70,41,0,0,83,41,0,0,84,41,0,0,85,41,0,0,86,41,0,0,87,41,0,0,64,41,0,0,61,41,0,0,88,41,0,0,89,41,0,0,90,41,0,0,91,41,0,0,92,41,0,0,60,41,0,0,0,0,0,0,62,41,0,0,197,19,0,0,63,41,0,0,202,19,0,0,93,41,0,0,207,19,0,0,136,4,0,0,219,19,0,0,94,41,0,0,232,19,0,0,95,41,0,0,241,19,0,0,0,0,0,0,62,41,0,0,96,41,0,0,92,5,0,0,64,41,0,0,108,5,0,0,116,5,0,0,2,0,0,0,100,5,0,0,1,0,0,0,85,41,0,0,7,0,0,0,96,41,0,0,7,0,0,0,92,5,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,10,0,0,0,2,0,0,0,11,0,0,0,62,41,0,0,96,41,0,0,83,41,0,0,83,41,0,0,62,41,0,0,96,41,0,0,92,5,0,0,62,41,0,0,96,41,0,0,108,5,0,0,94,41,0,0,83,41,0,0,94,41,0,0,83,41,0,0,96,41,0,0,64,41,0,0,94,41,0,0,83,41,0,0,96,41,0,0,2,0,0,0,97,41,0,0,0,0,0,0,0,0,0,0,2,0,0,0,12,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,228,5,0,0,62,41,0,0,92,5,0,0,136,4,0,0,62,41,0,0,136,4,0,0,136,4,0,0,136,4,0,0,136,4,0,0,136,4,0,0,94,41,0,0,96,41,0,0,136,4,0,0,64,41,0,0,64,41,0,0,62,41,0,0,64,41,0,0,64,41,0,0,2,0,0,0,96,41,0,0,80,6,0,0,64,41,0,0,68,41,0,0,64,41,0,0,108,6,0,0,5,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,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,106,41,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,224,6,0,0,5,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,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,114,41,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,16,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,15,0,0,0,19,0,0,0,17,0,0,0,18,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,72,0,0,0,20,0,0,0,21,0,0,0,3,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,108,105,115,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,105,116,101,109,115,0,67,111,117,108,100,32,110,111,116,32,101,120,116,101,110,100,32,97,108,108,111,99,97,116,105,111,110,32,102,111,114,32,105,116,101,109,115,0,37,115,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,99,111,109,112,117,116,101,100,32,118,97,108,117,101,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,32,32,0,123,0,108,97,121,111,117,116,58,32,123,0,119,105,100,116,104,58,32,37,103,44,32,0,104,101,105,103,104,116,58,32,37,103,44,32,0,116,111,112,58,32,37,103,44,32,0,108,101,102,116,58,32,37,103,0,125,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,99,111,108,117,109,110,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,99,111,108,117,109,110,45,114,101,118,101,114,115,101,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,114,111,119,39,44,32,0,102,108,101,120,68,105,114,101,99,116,105,111,110,58,32,39,114,111,119,45,114,101,118,101,114,115,101,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,99,101,110,116,101,114,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,115,112,97,99,101,45,97,114,111,117,110,100,39,44,32,0,106,117,115,116,105,102,121,67,111,110,116,101,110,116,58,32,39,115,112,97,99,101,45,98,101,116,119,101,101,110,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,73,116,101,109,115,58,32,39,115,116,114,101,116,99,104,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,67,111,110,116,101,110,116,58,32,39,115,116,114,101,116,99,104,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,102,108,101,120,45,115,116,97,114,116,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,99,101,110,116,101,114,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,102,108,101,120,45,101,110,100,39,44,32,0,97,108,105,103,110,83,101,108,102,58,32,39,115,116,114,101,116,99,104,39,44,32,0,37,115,58,32,37,103,44,32,0,102,108,101,120,71,114,111,119,0,102,108,101,120,83,104,114,105,110,107,0,102,108,101,120,66,97,115,105,115,0,111,118,101,114,102,108,111,119,58,32,39,104,105,100,100,101,110,39,44,32,0,111,118,101,114,102,108,111,119,58,32,39,118,105,115,105,98,108,101,39,44,32,0,111,118,101,114,102,108,111,119,58,32,39,115,99,114,111,108,108,39,44,32,0,109,97,114,103,105,110,0,109,97,114,103,105,110,76,101,102,116,0,109,97,114,103,105,110,82,105,103,104,116,0,109,97,114,103,105,110,84,111,112,0,109,97,114,103,105,110,66,111,116,116,111,109,0,109,97,114,103,105,110,83,116,97,114,116,0,109,97,114,103,105,110,69,110,100,0,112,97,100,100,105,110,103,0,112,97,100,100,105,110,103,76,101,102,116,0,112,97,100,100,105,110,103,82,105,103,104,116,0,112,97,100,100,105,110,103,84,111,112,0,112,97,100,100,105,110,103,66,111,116,116,111,109,0,112,97,100,100,105,110,103,83,116,97,114,116,0,112,97,100,100,105,110,103,69,110,100,0,98,111,114,100,101,114,87,105,100,116,104,0,98,111,114,100,101,114,76,101,102,116,87,105,100,116,104,0,98,111,114,100,101,114,82,105,103,104,116,87,105,100,116,104,0,98,111,114,100,101,114,84,111,112,87,105,100,116,104,0,98,111,114,100,101,114,66,111,116,116,111,109,87,105,100,116,104,0,98,111,114,100,101,114,83,116,97,114,116,87,105,100,116,104,0,98,111,114,100,101,114,69,110,100,87,105,100,116,104,0,119,105,100,116,104,0,104,101,105,103,104,116,0,109,97,120,87,105,100,116,104,0,109,97,120,72,101,105,103,104,116,0,109,105,110,87,105,100,116,104,0,109,105,110,72,101,105,103,104,116,0,112,111,115,105,116,105,111,110,58,32,39,97,98,115,111,108,117,116,101,39,44,32,0,108,101,102,116,0,114,105,103,104,116,0,116,111,112,0,98,111,116,116,111,109,0,99,104,105,108,100,114,101,110,58,32,91,10,0,93,125,44,10,0,125,44,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,42,0,37,115,37,100,46,123,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,109,101,97,115,117,114,101,0,102,108,101,120,0,115,116,114,101,116,99,104,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,0,105,110,105,116,105,97,108,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,83,105,122,101,0,86,97,108,117,101,0,76,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,72,101,105,103,104,116,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,78,66,105,110,100,73,68,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,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,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,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,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,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,46,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,104,111,109,101,47,97,114,99,97,110,105,115,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,109,97,115,116,101,114,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,98,97,100,95,97,108,108,111,99,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}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 _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_roundf"]=_roundf;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __decorate(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)if(d=decorators[i])r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r;return c>3&&r&&Object.defineProperty(target,key,r),r}function __extends(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p];function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}function _defineHidden(value){return(function(target,key){Object.defineProperty(target,key,{configurable:false,enumerable:false,value:value,writable:true})})}var _nbind={};function __nbind_free_external(num){_nbind.externalList[num].dereference(num)}Module["_i64Add"]=_i64Add;function __nbind_reference_external(num){_nbind.externalList[num].reference()}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function __nbind_register_pool(pageSize,usedPtr,rootPtr,pagePtr){_nbind.Pool.pageSize=pageSize;_nbind.Pool.usedPtr=usedPtr/4;_nbind.Pool.rootPtr=rootPtr;_nbind.Pool.pagePtr=pagePtr/4;HEAP32[usedPtr/4]=16909060;if(HEAP8[usedPtr]==1)_nbind.bigEndian=true;HEAP32[usedPtr/4]=0;_nbind.makeTypeKindTbl=(_a={},_a[1024]=_nbind.PrimitiveType,_a[64]=_nbind.Int64Type,_a[2048]=_nbind.BindClass,_a[3072]=_nbind.BindClassPtr,_a[4096]=_nbind.SharedClassPtr,_a[5120]=_nbind.ArrayType,_a[6144]=_nbind.ArrayType,_a[7168]=_nbind.CStringType,_a[9216]=_nbind.BindType,_a);_nbind.makeTypeNameTbl={"Buffer":_nbind.BufferType,"External":_nbind.ExternalType,"Int64":_nbind.Int64Type,"_nbind_new":_nbind.CreateValueType,"bool":_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"std::string":_nbind.StringType};Module["toggleLightGC"]=_nbind.toggleLightGC;_nbind.callUpcast=Module["dynCall_ii"];var globalScope=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});globalScope.proto=Module;_nbind.BindClass.list.push(globalScope);var _a}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(){setTimeout(Browser.mainLoop.runner,value)};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="__emcc";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);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}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 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}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((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));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);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===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&&canvas.requestPointerLock){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}canvas.style.backgroundColor="black"}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.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);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);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),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){Module["readAsync"](url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||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 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 ___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}}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}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}}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _typeModule(self){var structureList=[[0,"X"],[1,"const X"],[128,"X *"],[256,"X &"],[384,"X &&"],[512,"std::shared_ptr<X>"],[640,"std::unique_ptr<X>"],[5120,"std::vector<X>"],[6144,"std::array<X, Y>"]];function applyStructure(outerName,outerFlags,innerName,innerFlags,flip){if(outerFlags==1){var ref=innerFlags&896;if(ref==128||ref==256||ref==384)outerName="X const"}var name;if(flip){name=innerName.replace("X",outerName)}else{name=outerName.replace("X",innerName)}return name.replace(/([*&]) (?=[*&])/g,"$1")}function reportProblem(problem,id,kind,structureType,place){throw new Error(problem+" type "+kind.replace("X",id+"?")+(structureType?" with flag "+structureType:"")+" in "+place)}function getComplexType(id,constructType,getType,queryType,place,kind,prevStructure,depth){if(kind===void 0){kind="X"}if(depth===void 0){depth=1}var result=getType(id);if(result)return result;var query=queryType(id);var structureType=query.placeholderFlag;var structure=structureList[structureType];if(prevStructure&&structure){kind=applyStructure(prevStructure[1],prevStructure[0],kind,structure[0],true)}var problem;if(structureType==0)problem="Unbound";if(structureType>=9)problem="Corrupt";if(depth>20)problem="Deeply nested";if(problem)reportProblem(problem,id,kind,structureType,place||"?");var subId=query.paramList[0];var subType=getComplexType(subId,constructType,getType,queryType,place,kind,structure,depth+1);var name=applyStructure(structure[1],structure[0],subType.name,subType.flags);var srcSpec;var spec={flags:structure[0],id:id,name:name,paramList:[subType]};switch(query.placeholderFlag){case 1:srcSpec=subType.spec;break;case 2:if((subType.flags&15360)==1024&&subType.spec.ptrSize==1){spec.flags=7168;break};case 3:case 6:case 5:srcSpec=subType.spec;if((subType.flags&15360)!=2048){}break;case 8:spec.paramList.push(query.paramList[1]);break;default:break}if(srcSpec){for(var _i=0,_a=Object.keys(srcSpec);_i<_a.length;_i++){var key=_a[_i];spec[key]=spec[key]||srcSpec[key]}spec.flags|=srcSpec.flags}return makeType(constructType,spec)}function makeType(constructType,spec){var flags=spec.flags;var refKind=flags&896;var kind=flags&15360;if(!spec.name&&kind==1024){if(spec.ptrSize==1){spec.name=(flags&16?"":(flags&8?"un":"")+"signed ")+"char"}else{spec.name=(flags&8?"u":"")+(flags&32?"float":"int")+(spec.ptrSize*8+"_t")}}if(spec.ptrSize==8&&!(flags&32))kind=64;if(kind==2048){if(refKind==512||refKind==640){kind=4096}else if(refKind)kind=3072}return constructType(kind,spec)}var Type=(function(){function Type(spec){this.id=spec.id;this.name=spec.name;this.flags=spec.flags;this.spec=spec}Type.prototype.toString=(function(){return this.name});return Type})();var output={Type:Type,getComplexType:getComplexType,makeType:makeType,structureList:structureList};self.output=output;return self.output||output}function __nbind_register_type(id,namePtr){var name=_nbind.readAsciiString(namePtr);var spec={flags:9216,id:id,name:name};_nbind.makeType(_nbind.constructType,spec)}function ___cxa_guard_release(){}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function __nbind_register_callback_signature(typeListPtr,typeCount){var typeList=_nbind.readTypeIdList(typeListPtr,typeCount);var num=_nbind.callbackSignatureList.length;_nbind.callbackSignatureList[num]=_nbind.makeJSCaller(typeList);return num}function __nbind_register_class(idListPtr,policyListPtr,superListPtr,upcastListPtr,superCount,destructorPtr,namePtr){var name=_nbind.readAsciiString(namePtr);var policyTbl=_nbind.readPolicyList(policyListPtr);var idList=HEAPU32.subarray(idListPtr/4,idListPtr/4+2);var spec={flags:2048|(policyTbl["Value"]?2:0),id:idList[0],name:name};var bindClass=_nbind.makeType(_nbind.constructType,spec);bindClass.ptrType=_nbind.getComplexType(idList[1],_nbind.constructType,_nbind.getType,_nbind.queryType);bindClass.destroy=_nbind.makeMethodCaller(bindClass.ptrType,{boundID:spec.id,flags:0,name:"destroy",num:0,ptr:destructorPtr,title:bindClass.name+".free",typeList:["void","uint32_t","uint32_t"]});if(superCount){bindClass.superIdList=Array.prototype.slice.call(HEAPU32.subarray(superListPtr/4,superListPtr/4+superCount));bindClass.upcastList=Array.prototype.slice.call(HEAPU32.subarray(upcastListPtr/4,upcastListPtr/4+superCount))}Module[bindClass.name]=bindClass.makeBound(policyTbl);_nbind.BindClass.list.push(bindClass)}function _removeAccessorPrefix(name){var prefixMatcher=/^[Gg]et_?([A-Z]?([A-Z]?))/;return name.replace(prefixMatcher,(function(match,initial,second){return second?initial:initial.toLowerCase()}))}function __nbind_register_function(boundID,policyListPtr,typeListPtr,typeCount,ptr,direct,signatureType,namePtr,num,flags){var bindClass=_nbind.getType(boundID);var policyTbl=_nbind.readPolicyList(policyListPtr);var typeList=_nbind.readTypeIdList(typeListPtr,typeCount);var specList;if(signatureType==4){specList=[{direct:ptr,name:"__nbindConstructor",ptr:0,title:bindClass.name+" constructor",typeList:["uint32_t"].concat(typeList.slice(1))},{direct:direct,name:"__nbindValueConstructor",ptr:0,title:bindClass.name+" value constructor",typeList:["void","uint32_t"].concat(typeList.slice(1))}]}else{var name_1=_nbind.readAsciiString(namePtr);var title=(bindClass.name&&bindClass.name+".")+name_1;if(signatureType==2||signatureType==3){name_1=_removeAccessorPrefix(name_1)}specList=[{boundID:boundID,direct:direct,name:name_1,ptr:ptr,title:title,typeList:typeList}]}for(var _i=0,specList_1=specList;_i<specList_1.length;_i++){var spec=specList_1[_i];spec.signatureType=signatureType;spec.policyTbl=policyTbl;spec.num=num;spec.flags=flags;bindClass.addMethod(spec)}}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _nbind_value(name,proto){if(!_nbind.typeNameTbl[name])_nbind.throwError("Unknown value type "+name);Module["NBind"].bind_value(name,proto);_defineHidden(_nbind.typeNameTbl[name].proto.prototype.__nbindValueConstructor)(proto.prototype,"__nbindValueConstructor")}Module["_nbind_value"]=_nbind_value;function __nbind_get_value_object(num,ptr){var obj=_nbind.popValue(num);if(!obj.fromJS){throw new Error("Object "+obj+" has no fromJS function")}obj.fromJS((function(){obj.__nbindValueConstructor.apply(this,Array.prototype.concat.apply([ptr],arguments))}))}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function __nbind_register_primitive(id,size,flags){var spec={flags:1024|flags,id:id,ptrSize:size};_nbind.makeType(_nbind.constructType,spec)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function ___gxx_personality_v0(){}var _llvm_fabs_f32=Math_abs;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}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;assert(offset_high===0);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}}function __nbind_finish(){for(var _i=0,_a=_nbind.BindClass.list;_i<_a.length;_i++){var bindClass=_a[_i];bindClass.finish()}}var ___dso_handle=STATICTOP;STATICTOP+=16;((function(_nbind){var typeIdTbl={};_nbind.typeNameTbl={};var Pool=(function(){function Pool(){}Pool.lalloc=(function(size){size=size+7&~7;var used=HEAPU32[Pool.usedPtr];if(size>Pool.pageSize/2||size>Pool.pageSize-used){var NBind=_nbind.typeNameTbl["NBind"].proto;return NBind.lalloc(size)}else{HEAPU32[Pool.usedPtr]=used+size;return Pool.rootPtr+used}});Pool.lreset=(function(used,page){var topPage=HEAPU32[Pool.pagePtr];if(topPage){var NBind=_nbind.typeNameTbl["NBind"].proto;NBind.lreset(used,page)}else{HEAPU32[Pool.usedPtr]=used}});return Pool})();_nbind.Pool=Pool;function constructType(kind,spec){var construct=kind==9216?_nbind.makeTypeNameTbl[spec.name]||_nbind.BindType:_nbind.makeTypeKindTbl[kind];var bindType=new construct(spec);typeIdTbl[spec.id]=bindType;_nbind.typeNameTbl[spec.name]=bindType;return bindType}_nbind.constructType=constructType;function getType(id){return typeIdTbl[id]}_nbind.getType=getType;function queryType(id){var placeholderFlag=HEAPU8[id];return{paramList:[HEAPU32[(id>>2)+1],HEAPU32[(id>>2)+2]],placeholderFlag:placeholderFlag}}_nbind.queryType=queryType;function getTypes(idList,place){return idList.map((function(id){return typeof id=="number"?_nbind.getComplexType(id,constructType,getType,queryType,place):_nbind.typeNameTbl[id]}))}_nbind.getTypes=getTypes;function readTypeIdList(typeListPtr,typeCount){return Array.prototype.slice.call(HEAPU32,typeListPtr/4,typeListPtr/4+typeCount)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(ptr){var endPtr=ptr;while(HEAPU8[endPtr++]);return String.fromCharCode.apply("",HEAPU8.subarray(ptr,endPtr-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(policyListPtr){var policyTbl={};if(policyListPtr){while(1){var namePtr=HEAPU32[policyListPtr/4];if(!namePtr)break;policyTbl[readAsciiString(namePtr)]=true;policyListPtr+=4}}return policyTbl}_nbind.readPolicyList=readPolicyList;function getDynCall(typeList,name){var mangleMap={float32_t:"f",float64_t:"d",int64_t:"d",uint64_t:"d","void":"v"};var signature=typeList.map((function(type){return mangleMap[type.name]||"i"})).join("");var dynCall=Module["dynCall_"+signature];if(!dynCall){throw new Error("dynCall_"+signature+" not found for "+name+"("+typeList.map((function(type){return type.name})).join(", ")+")")}return dynCall}_nbind.getDynCall=getDynCall;function addMethod(obj,name,func,arity){var overload=obj[name];if(obj.hasOwnProperty(name)&&overload){if(overload.arity||overload.arity===0){overload=_nbind.makeOverloader(overload,overload.arity);obj[name]=overload}overload.addMethod(func,arity)}else{func.arity=arity;obj[name]=func}}_nbind.addMethod=addMethod;function throwError(message){throw new Error(message)}_nbind.throwError=throwError;_nbind.bigEndian=false;_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType;var BindType=(function(_super){__extends(BindType,_super);function BindType(){var _this=_super.apply(this,arguments)||this;_this.heap=HEAPU32;_this.ptrSize=4;return _this}BindType.prototype.needsWireRead=(function(policyTbl){return!!this.wireRead||!!this.makeWireRead});BindType.prototype.needsWireWrite=(function(policyTbl){return!!this.wireWrite||!!this.makeWireWrite});return BindType})(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=(function(_super){__extends(PrimitiveType,_super);function PrimitiveType(spec){var _this=_super.call(this,spec)||this;var heapTbl=spec.flags&32?{32:HEAPF32,64:HEAPF64}:spec.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};_this.heap=heapTbl[spec.ptrSize*8];_this.ptrSize=spec.ptrSize;return _this}PrimitiveType.prototype.needsWireWrite=(function(policyTbl){return!!policyTbl&&!!policyTbl["Strict"]});PrimitiveType.prototype.makeWireWrite=(function(expr,policyTbl){return policyTbl&&policyTbl["Strict"]&&(function(arg){if(typeof arg=="number")return arg;throw new Error("Type mismatch")})});return PrimitiveType})(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(str,policyTbl){if(str===null||str===undefined){if(policyTbl&&policyTbl["Nullable"]){return 0}else throw new Error("Type mismatch")}if(policyTbl&&policyTbl["Strict"]){if(typeof str!="string")throw new Error("Type mismatch")}else str=str.toString();var length=Module.lengthBytesUTF8(str)+1;var result=_nbind.Pool.lalloc(length);Module.stringToUTF8Array(str,HEAPU8,result,length);return result}_nbind.pushCString=pushCString;function popCString(ptr){if(ptr===0)return null;return Module.Pointer_stringify(ptr)}_nbind.popCString=popCString;var CStringType=(function(_super){__extends(CStringType,_super);function CStringType(){var _this=_super.apply(this,arguments)||this;_this.wireRead=popCString;_this.wireWrite=pushCString;_this.readResources=[_nbind.resources.pool];_this.writeResources=[_nbind.resources.pool];return _this}CStringType.prototype.makeWireWrite=(function(expr,policyTbl){return(function(arg){return pushCString(arg,policyTbl)})});return CStringType})(BindType);_nbind.CStringType=CStringType;var BooleanType=(function(_super){__extends(BooleanType,_super);function BooleanType(){var _this=_super.apply(this,arguments)||this;_this.wireRead=(function(arg){return!!arg});return _this}BooleanType.prototype.needsWireWrite=(function(policyTbl){return!!policyTbl&&!!policyTbl["Strict"]});BooleanType.prototype.makeWireRead=(function(expr){return"!!("+expr+")"});BooleanType.prototype.makeWireWrite=(function(expr,policyTbl){return policyTbl&&policyTbl["Strict"]&&(function(arg){if(typeof arg=="boolean")return arg;throw new Error("Type mismatch")})||expr});return BooleanType})(BindType);_nbind.BooleanType=BooleanType;var Wrapper=(function(){function Wrapper(){}Wrapper.prototype.persist=(function(){this.__nbindState|=1});return Wrapper})();_nbind.Wrapper=Wrapper;function makeBound(policyTbl,bindClass){var Bound=(function(_super){__extends(Bound,_super);function Bound(marker,flags,ptr,shared){var _this=_super.call(this)||this;if(!(_this instanceof Bound)){return new(Function.prototype.bind.apply(Bound,Array.prototype.concat.apply([null],arguments)))}var nbindFlags=flags;var nbindPtr=ptr;var nbindShared=shared;if(marker!==_nbind.ptrMarker){var wirePtr=_this.__nbindConstructor.apply(_this,arguments);nbindFlags=4096|512;nbindShared=HEAPU32[wirePtr/4];nbindPtr=HEAPU32[wirePtr/4+1]}var spec={configurable:true,enumerable:false,value:null,writable:false};var propTbl={"__nbindFlags":nbindFlags,"__nbindPtr":nbindPtr};if(nbindShared){propTbl["__nbindShared"]=nbindShared;_nbind.mark(_this)}for(var _i=0,_a=Object.keys(propTbl);_i<_a.length;_i++){var key=_a[_i];spec.value=propTbl[key];Object.defineProperty(_this,key,spec)}_defineHidden(0)(_this,"__nbindState");return _this}Bound.prototype.free=(function(){bindClass.destroy.call(this,this.__nbindShared,this.__nbindFlags);this.__nbindState|=2;disableMember(this,"__nbindShared");disableMember(this,"__nbindPtr")});return Bound})(Wrapper);__decorate([_defineHidden()],Bound.prototype,"__nbindConstructor",void 0);__decorate([_defineHidden()],Bound.prototype,"__nbindValueConstructor",void 0);__decorate([_defineHidden(policyTbl)],Bound.prototype,"__nbindPolicies",void 0);return Bound}_nbind.makeBound=makeBound;function disableMember(obj,name){function die(){throw new Error("Accessing deleted object")}Object.defineProperty(obj,name,{configurable:false,enumerable:false,get:die,set:die})}_nbind.ptrMarker={};var BindClass=(function(_super){__extends(BindClass,_super);function BindClass(spec){var _this=_super.call(this,spec)||this;_this.wireRead=(function(arg){return _nbind.popValue(arg,_this.ptrType)});_this.wireWrite=(function(arg){return pushPointer(arg,_this.ptrType,true)});_this.pendingSuperCount=0;_this.ready=false;_this.methodTbl={};if(spec.paramList){_this.classType=spec.paramList[0].classType;_this.proto=_this.classType.proto}else _this.classType=_this;return _this}BindClass.prototype.makeBound=(function(policyTbl){var Bound=_nbind.makeBound(policyTbl,this);this.proto=Bound;this.ptrType.proto=Bound;return Bound});BindClass.prototype.addMethod=(function(spec){var overloadList=this.methodTbl[spec.name]||[];overloadList.push(spec);this.methodTbl[spec.name]=overloadList});BindClass.prototype.registerMethods=(function(src,staticOnly){var setter;for(var _i=0,_a=Object.keys(src.methodTbl);_i<_a.length;_i++){var name_1=_a[_i];var overloadList=src.methodTbl[name_1];for(var _b=0,overloadList_1=overloadList;_b<overloadList_1.length;_b++){var spec=overloadList_1[_b];var target=void 0;var caller=void 0;target=this.proto.prototype;if(staticOnly&&spec.signatureType!=0)continue;switch(spec.signatureType){case 0:target=this.proto;case 4:caller=_nbind.makeCaller(spec);_nbind.addMethod(target,spec.name,caller,spec.typeList.length-1);break;case 3:setter=_nbind.makeMethodCaller(src.ptrType,spec);break;case 2:Object.defineProperty(target,spec.name,{configurable:true,enumerable:false,get:_nbind.makeMethodCaller(src.ptrType,spec),set:setter});break;case 1:caller=_nbind.makeMethodCaller(src.ptrType,spec);_nbind.addMethod(target,spec.name,caller,spec.typeList.length-1);break;default:break}}}});BindClass.prototype.registerSuperMethods=(function(src,firstSuper,visitTbl){if(visitTbl[src.name])return;visitTbl[src.name]=true;var superNum=0;var nextFirst;for(var _i=0,_a=src.superIdList||[];_i<_a.length;_i++){var superId=_a[_i];var superClass=_nbind.getType(superId);if(superNum++<firstSuper||firstSuper<0){nextFirst=-1}else{nextFirst=0}this.registerSuperMethods(superClass,nextFirst,visitTbl)}this.registerMethods(src,firstSuper<0)});BindClass.prototype.finish=(function(){if(this.ready)return this;this.ready=true;this.superList=(this.superIdList||[]).map((function(superId){return _nbind.getType(superId).finish()}));var Bound=this.proto;if(this.superList.length){var Proto=(function(){this.constructor=Bound});Proto.prototype=this.superList[0].proto.prototype;Bound.prototype=new Proto}if(Bound!=Module)Bound.prototype.__nbindType=this;this.registerSuperMethods(this,1,{});return this});BindClass.prototype.upcastStep=(function(dst,ptr){if(dst==this)return ptr;for(var i=0;i<this.superList.length;++i){var superPtr=this.superList[i].upcastStep(dst,_nbind.callUpcast(this.upcastList[i],ptr));if(superPtr)return superPtr}return 0});return BindClass})(_nbind.BindType);BindClass.list=[];_nbind.BindClass=BindClass;function popPointer(ptr,type){return ptr?new type.proto(_nbind.ptrMarker,type.flags,ptr):null}_nbind.popPointer=popPointer;function pushPointer(obj,type,tryValue){if(!(obj instanceof _nbind.Wrapper)){if(tryValue){return _nbind.pushValue(obj)}else throw new Error("Type mismatch")}var ptr=obj.__nbindPtr;var objType=obj.__nbindType.classType;var classType=type.classType;if(obj instanceof type.proto){while(objType!=classType){ptr=_nbind.callUpcast(objType.upcastList[0],ptr);objType=objType.superList[0]}}else{ptr=objType.upcastStep(classType,ptr);if(!ptr)throw new Error("Type mismatch")}return ptr}_nbind.pushPointer=pushPointer;function pushMutablePointer(obj,type){var ptr=pushPointer(obj,type);if(obj.__nbindFlags&1){throw new Error("Passing a const value as a non-const argument")}return ptr}var BindClassPtr=(function(_super){__extends(BindClassPtr,_super);function BindClassPtr(spec){var _this=_super.call(this,spec)||this;_this.classType=spec.paramList[0].classType;_this.proto=_this.classType.proto;var isConst=spec.flags&1;var isValue=(_this.flags&896)==256&&spec.flags&2;var push=isConst?pushPointer:pushMutablePointer;var pop=isValue?_nbind.popValue:popPointer;_this.makeWireWrite=(function(expr,policyTbl){return policyTbl["Nullable"]?(function(arg){return arg?push(arg,_this):0}):(function(arg){return push(arg,_this)})});_this.wireRead=(function(arg){return pop(arg,_this)});_this.wireWrite=(function(arg){return push(arg,_this)});return _this}return BindClassPtr})(_nbind.BindType);_nbind.BindClassPtr=BindClassPtr;function popShared(ptr,type){var shared=HEAPU32[ptr/4];var unsafe=HEAPU32[ptr/4+1];return unsafe?new type.proto(_nbind.ptrMarker,type.flags,unsafe,shared):null}_nbind.popShared=popShared;function pushShared(obj,type){if(!(obj instanceof type.proto))throw new Error("Type mismatch");return obj.__nbindShared}function pushMutableShared(obj,type){if(!(obj instanceof type.proto))throw new Error("Type mismatch");if(obj.__nbindFlags&1){throw new Error("Passing a const value as a non-const argument")}return obj.__nbindShared}var SharedClassPtr=(function(_super){__extends(SharedClassPtr,_super);function SharedClassPtr(spec){var _this=_super.call(this,spec)||this;_this.readResources=[_nbind.resources.pool];_this.classType=spec.paramList[0].classType;_this.proto=_this.classType.proto;var isConst=spec.flags&1;var push=isConst?pushShared:pushMutableShared;_this.wireRead=(function(arg){return popShared(arg,_this)});_this.wireWrite=(function(arg){return push(arg,_this)});return _this}return SharedClassPtr})(_nbind.BindType);_nbind.SharedClassPtr=SharedClassPtr;_nbind.externalList=[0];var firstFreeExternal=0;var External=(function(){function External(data){this.refCount=1;this.data=data}External.prototype.register=(function(){var num=firstFreeExternal;if(num){firstFreeExternal=_nbind.externalList[num]}else num=_nbind.externalList.length;_nbind.externalList[num]=this;return num});External.prototype.reference=(function(){++this.refCount});External.prototype.dereference=(function(num){if(--this.refCount==0){if(this.free)this.free();_nbind.externalList[num]=firstFreeExternal;firstFreeExternal=num}});return External})();_nbind.External=External;function popExternal(num){var obj=_nbind.externalList[num];obj.dereference(num);return obj.data}function pushExternal(obj){var external=new External(obj);external.reference();return external.register()}var ExternalType=(function(_super){__extends(ExternalType,_super);function ExternalType(){var _this=_super.apply(this,arguments)||this;_this.wireRead=popExternal;_this.wireWrite=pushExternal;return _this}return ExternalType})(_nbind.BindType);_nbind.ExternalType=ExternalType;_nbind.callbackSignatureList=[];var CallbackType=(function(_super){__extends(CallbackType,_super);function CallbackType(){var _this=_super.apply(this,arguments)||this;_this.wireWrite=(function(func){if(typeof func!="function")_nbind.throwError("Type mismatch");return(new _nbind.External(func)).register()});return _this}return CallbackType})(_nbind.BindType);_nbind.CallbackType=CallbackType;_nbind.valueList=[0];var firstFreeValue=0;function pushValue(value){var num=firstFreeValue;if(num){firstFreeValue=_nbind.valueList[num]}else num=_nbind.valueList.length;_nbind.valueList[num]=value;return num*2+1}_nbind.pushValue=pushValue;function popValue(num,type){if(!num)_nbind.throwError("Value type JavaScript class is missing or not registered");if(num&1){num>>=1;var obj=_nbind.valueList[num];_nbind.valueList[num]=firstFreeValue;firstFreeValue=num;return obj}else if(type){return _nbind.popShared(num,type)}else throw new Error("Invalid value slot "+num)}_nbind.popValue=popValue;var valueBase=0x10000000000000000;function push64(num){if(typeof num=="number")return num;return pushValue(num)*4096+valueBase}function pop64(num){if(num<valueBase)return num;return popValue((num-valueBase)/4096)}var CreateValueType=(function(_super){__extends(CreateValueType,_super);function CreateValueType(){return _super.apply(this,arguments)||this}CreateValueType.prototype.makeWireWrite=(function(expr){return"(_nbind.pushValue(new "+expr+"))"});return CreateValueType})(_nbind.BindType);_nbind.CreateValueType=CreateValueType;var Int64Type=(function(_super){__extends(Int64Type,_super);function Int64Type(){var _this=_super.apply(this,arguments)||this;_this.wireWrite=push64;_this.wireRead=pop64;return _this}return Int64Type})(_nbind.BindType);_nbind.Int64Type=Int64Type;function pushArray(arr,type){if(!arr)return 0;var length=arr.length;if((type.size||type.size===0)&&length<type.size){throw new Error("Type mismatch")}var ptrSize=type.memberType.ptrSize;var result=_nbind.Pool.lalloc(4+length*ptrSize);HEAPU32[result/4]=length;var heap=type.memberType.heap;var ptr=(result+4)/ptrSize;var wireWrite=type.memberType.wireWrite;var num=0;if(wireWrite){while(num<length){heap[ptr++]=wireWrite(arr[num++])}}else{while(num<length){heap[ptr++]=arr[num++]}}return result}_nbind.pushArray=pushArray;function popArray(ptr,type){if(ptr===0)return null;var length=HEAPU32[ptr/4];var arr=new Array(length);var heap=type.memberType.heap;ptr=(ptr+4)/type.memberType.ptrSize;var wireRead=type.memberType.wireRead;var num=0;if(wireRead){while(num<length){arr[num++]=wireRead(heap[ptr++])}}else{while(num<length){arr[num++]=heap[ptr++]}}return arr}_nbind.popArray=popArray;var ArrayType=(function(_super){__extends(ArrayType,_super);function ArrayType(spec){var _this=_super.call(this,spec)||this;_this.wireRead=(function(arg){return popArray(arg,_this)});_this.wireWrite=(function(arg){return pushArray(arg,_this)});_this.readResources=[_nbind.resources.pool];_this.writeResources=[_nbind.resources.pool];_this.memberType=spec.paramList[0];if(spec.paramList[1])_this.size=spec.paramList[1];return _this}return ArrayType})(_nbind.BindType);_nbind.ArrayType=ArrayType;function pushString(str,policyTbl){if(str===null||str===undefined){if(policyTbl&&policyTbl["Nullable"]){str=""}else throw new Error("Type mismatch")}if(policyTbl&&policyTbl["Strict"]){if(typeof str!="string")throw new Error("Type mismatch")}else str=str.toString();var length=Module.lengthBytesUTF8(str);var result=_nbind.Pool.lalloc(4+length+1);HEAPU32[result/4]=length;Module.stringToUTF8Array(str,HEAPU8,result+4,length+1);return result}_nbind.pushString=pushString;function popString(ptr){if(ptr===0)return null;var length=HEAPU32[ptr/4];return Module.Pointer_stringify(ptr+4,length)}_nbind.popString=popString;var StringType=(function(_super){__extends(StringType,_super);function StringType(){var _this=_super.apply(this,arguments)||this;_this.wireRead=popString;_this.wireWrite=pushString;_this.readResources=[_nbind.resources.pool];_this.writeResources=[_nbind.resources.pool];return _this}StringType.prototype.makeWireWrite=(function(expr,policyTbl){return(function(arg){return pushString(arg,policyTbl)})});return StringType})(_nbind.BindType);_nbind.StringType=StringType;function makeArgList(argCount){return Array.apply(null,Array(argCount)).map((function(dummy,num){return"a"+(num+1)}))}function anyNeedsWireWrite(typeList,policyTbl){return typeList.reduce((function(result,type){return result||type.needsWireWrite(policyTbl)}),false)}function anyNeedsWireRead(typeList,policyTbl){return typeList.reduce((function(result,type){return result||!!type.needsWireRead(policyTbl)}),false)}function makeWireRead(convertParamList,policyTbl,type,expr){var paramNum=convertParamList.length;if(type.makeWireRead){return type.makeWireRead(expr,convertParamList,paramNum)}else if(type.wireRead){convertParamList[paramNum]=type.wireRead;return"(convertParamList["+paramNum+"]("+expr+"))"}else return expr}function makeWireWrite(convertParamList,policyTbl,type,expr){var wireWrite;var paramNum=convertParamList.length;if(type.makeWireWrite){wireWrite=type.makeWireWrite(expr,policyTbl,convertParamList,paramNum)}else wireWrite=type.wireWrite;if(wireWrite){if(typeof wireWrite=="string"){return wireWrite}else{convertParamList[paramNum]=wireWrite;return"(convertParamList["+paramNum+"]("+expr+"))"}}else return expr}function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWireWrite,prefix,returnType,argTypeList,mask,err){var argList=makeArgList(argTypeList.length);var convertParamList=[];var callExpression=makeWireRead(convertParamList,policyTbl,returnType,"dynCall("+[prefix].concat(argList.map((function(name,index){return makeWireWrite(convertParamList,policyTbl,argTypeList[index],name)}))).join(",")+")");var resourceSet=_nbind.listResources([returnType],argTypeList);var sourceCode="function("+argList.join(",")+"){"+(mask?"this.__nbindFlags&mask&&err();":"")+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;"+"}";return eval("("+sourceCode+")")}function buildJSCallerFunction(returnType,argTypeList){var argList=makeArgList(argTypeList.length);var convertParamList=[];var callExpression=makeWireWrite(convertParamList,null,returnType,"_nbind.externalList[num].data("+argList.map((function(name,index){return makeWireRead(convertParamList,null,argTypeList[index],name)})).join(",")+")");var resourceSet=_nbind.listResources(argTypeList,[returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode="function("+["dummy","num"].concat(argList).join(",")+"){"+resourceSet.makeOpen()+"var r="+callExpression+";"+resourceSet.makeClose()+"return r;"+"}";return eval("("+sourceCode+")")}_nbind.buildJSCallerFunction=buildJSCallerFunction;function makeJSCaller(idList){var argCount=idList.length-1;var typeList=_nbind.getTypes(idList,"callback");var returnType=typeList[0];var argTypeList=typeList.slice(1);var needsWireRead=anyNeedsWireRead(argTypeList,null);var needsWireWrite=returnType.needsWireWrite(null);if(!needsWireWrite&&!needsWireRead){switch(argCount){case 0:return(function(dummy,num){return _nbind.externalList[num].data()});case 1:return(function(dummy,num,a1){return _nbind.externalList[num].data(a1)});case 2:return(function(dummy,num,a1,a2){return _nbind.externalList[num].data(a1,a2)});case 3:return(function(dummy,num,a1,a2,a3){return _nbind.externalList[num].data(a1,a2,a3)});default:break}}return buildJSCallerFunction(returnType,argTypeList)}_nbind.makeJSCaller=makeJSCaller;function makeMethodCaller(ptrType,spec){var argCount=spec.typeList.length-1;var typeIdList=spec.typeList.slice(0);typeIdList.splice(1,0,"uint32_t",spec.boundID);var typeList=_nbind.getTypes(typeIdList,spec.title);var returnType=typeList[0];var argTypeList=typeList.slice(3);var needsWireRead=returnType.needsWireRead(spec.policyTbl);var needsWireWrite=anyNeedsWireWrite(argTypeList,spec.policyTbl);var ptr=spec.ptr;var num=spec.num;var dynCall=_nbind.getDynCall(typeList,spec.title);var mask=~spec.flags&1;function err(){throw new Error("Calling a non-const method on a const object")}if(!needsWireRead&&!needsWireWrite){switch(argCount){case 0:return(function(){return this.__nbindFlags&mask?err():dynCall(ptr,num,_nbind.pushPointer(this,ptrType))});case 1:return(function(a1){return this.__nbindFlags&mask?err():dynCall(ptr,num,_nbind.pushPointer(this,ptrType),a1)});case 2:return(function(a1,a2){return this.__nbindFlags&mask?err():dynCall(ptr,num,_nbind.pushPointer(this,ptrType),a1,a2)});case 3:return(function(a1,a2,a3){return this.__nbindFlags&mask?err():dynCall(ptr,num,_nbind.pushPointer(this,ptrType),a1,a2,a3)});default:break}}return buildCallerFunction(dynCall,ptrType,ptr,num,spec.policyTbl,needsWireWrite,"ptr,num,pushPointer(this,ptrType)",returnType,argTypeList,mask,err)}_nbind.makeMethodCaller=makeMethodCaller;function makeCaller(spec){var argCount=spec.typeList.length-1;var typeList=_nbind.getTypes(spec.typeList,spec.title);var returnType=typeList[0];var argTypeList=typeList.slice(1);var needsWireRead=returnType.needsWireRead(spec.policyTbl);var needsWireWrite=anyNeedsWireWrite(argTypeList,spec.policyTbl);var direct=spec.direct;var ptr=spec.ptr;if(spec.direct&&!needsWireRead&&!needsWireWrite){var dynCall_1=_nbind.getDynCall(typeList,spec.title);switch(argCount){case 0:return(function(){return dynCall_1(direct)});case 1:return(function(a1){return dynCall_1(direct,a1)});case 2:return(function(a1,a2){return dynCall_1(direct,a1,a2)});case 3:return(function(a1,a2,a3){return dynCall_1(direct,a1,a2,a3)});default:break}ptr=0}var prefix;if(ptr){var typeIdList=spec.typeList.slice(0);typeIdList.splice(1,0,"uint32_t");typeList=_nbind.getTypes(typeIdList,spec.title);prefix="ptr,num"}else{ptr=direct;prefix="ptr"}var dynCall=_nbind.getDynCall(typeList,spec.title);return buildCallerFunction(dynCall,null,ptr,spec.num,spec.policyTbl,needsWireWrite,prefix,returnType,argTypeList)}_nbind.makeCaller=makeCaller;function makeOverloader(func,arity){var callerList=[];function call(){return callerList[arguments.length].apply(this,arguments)}call.addMethod=(function(_func,_arity){callerList[_arity]=_func});call.addMethod(func,arity);return call}_nbind.makeOverloader=makeOverloader;var Resource=(function(){function Resource(open,close){var _this=this;this.makeOpen=(function(){return Object.keys(_this.openTbl).join("")});this.makeClose=(function(){return Object.keys(_this.closeTbl).join("")});this.openTbl={};this.closeTbl={};if(open)this.openTbl[open]=true;if(close)this.closeTbl[close]=true}Resource.prototype.add=(function(other){for(var _i=0,_a=Object.keys(other.openTbl);_i<_a.length;_i++){var key=_a[_i];this.openTbl[key]=true}for(var _b=0,_c=Object.keys(other.closeTbl);_b<_c.length;_b++){var key=_c[_b];this.closeTbl[key]=true}});Resource.prototype.remove=(function(other){for(var _i=0,_a=Object.keys(other.openTbl);_i<_a.length;_i++){var key=_a[_i];delete this.openTbl[key]}for(var _b=0,_c=Object.keys(other.closeTbl);_b<_c.length;_b++){var key=_c[_b];delete this.closeTbl[key]}});return Resource})();_nbind.Resource=Resource;function listResources(readList,writeList){var result=new Resource;for(var _i=0,readList_1=readList;_i<readList_1.length;_i++){var bindType=readList_1[_i];for(var _a=0,_b=bindType.readResources||[];_a<_b.length;_a++){var resource=_b[_a];result.add(resource)}}for(var _c=0,writeList_1=writeList;_c<writeList_1.length;_c++){var bindType=writeList_1[_c];for(var _d=0,_e=bindType.writeResources||[];_d<_e.length;_d++){var resource=_e[_d];result.add(resource)}}return result}_nbind.listResources=listResources;_nbind.resources={pool:new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];","_nbind.Pool.lreset(used,page);")};var ExternalBuffer=(function(_super){__extends(ExternalBuffer,_super);function ExternalBuffer(buf,ptr){var _this=_super.call(this,buf)||this;_this.ptr=ptr;return _this}ExternalBuffer.prototype.free=(function(){_free(this.ptr)});return ExternalBuffer})(_nbind.External);function getBuffer(buf){if(buf instanceof ArrayBuffer){return new Uint8Array(buf)}else if(buf instanceof DataView){return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}else return buf}function pushBuffer(buf,policyTbl){if(buf===null||buf===undefined){if(policyTbl&&policyTbl["Nullable"])buf=[]}if(typeof buf!="object")throw new Error("Type mismatch");var b=buf;var length=b.byteLength||b.length;if(!length&&length!==0&&b.byteLength!==0)throw new Error("Type mismatch");var result=_nbind.Pool.lalloc(8);var data=_malloc(length);var ptr=result/4;HEAPU32[ptr++]=length;HEAPU32[ptr++]=data;HEAPU32[ptr++]=(new ExternalBuffer(buf,data)).register();HEAPU8.set(getBuffer(buf),data);return result}var BufferType=(function(_super){__extends(BufferType,_super);function BufferType(){var _this=_super.apply(this,arguments)||this;_this.wireWrite=pushBuffer;_this.readResources=[_nbind.resources.pool];_this.writeResources=[_nbind.resources.pool];return _this}BufferType.prototype.makeWireWrite=(function(expr,policyTbl){return(function(arg){return pushBuffer(arg,policyTbl)})});return BufferType})(_nbind.BindType);_nbind.BufferType=BufferType;function commitBuffer(num,data,length){var buf=_nbind.externalList[num].data;var NodeBuffer=Buffer;if(typeof Buffer!="function")NodeBuffer=(function(){});if(buf instanceof Array){}else{var src=HEAPU8.subarray(data,data+length);if(buf instanceof NodeBuffer){var srcBuf=void 0;if(typeof Buffer.from=="function"&&Buffer.from.length>=3){srcBuf=Buffer.from(src)}else srcBuf=new Buffer(src);srcBuf.copy(buf)}else getBuffer(buf).set(src)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[];var gcTimer=0;function sweep(){for(var _i=0,dirtyList_1=dirtyList;_i<dirtyList_1.length;_i++){var obj=dirtyList_1[_i];if(!(obj.__nbindState&(1|2))){obj.free()}}dirtyList=[];gcTimer=0}_nbind.mark=(function(obj){});function toggleLightGC(enable){if(enable){_nbind.mark=(function(obj){dirtyList.push(obj);if(!gcTimer)gcTimer=setTimeout(sweep,0)})}else{_nbind.mark=(function(obj){})}}_nbind.toggleLightGC=toggleLightGC}))(_nbind);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)};__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)}));STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);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_DYNAMIC);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;asm["setThrew"](1,0)}}function invoke_vid(index,a1,a2){try{Module["dynCall_vid"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["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;asm["setThrew"](1,0)}}function invoke_diii(index,a1,a2,a3){try{return Module["dynCall_diii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viddi(index,a1,a2,a3,a4){try{Module["dynCall_viddi"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vidd(index,a1,a2,a3){try{Module["dynCall_vidd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}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;asm["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;asm["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["setThrew"](1,0)}}function invoke_viiddi(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiddi"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_dii(index,a1,a2){try{return Module["dynCall_dii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiid(index,a1,a2,a3,a4){try{Module["dynCall_viiid"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["setThrew"](1,0)}}function invoke_viididi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viididi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viid(index,a1,a2,a3){try{Module["dynCall_viid"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_idd(index,a1,a2){try{return Module["dynCall_idd"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["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;asm["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};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_viiiii":invoke_viiiii,"invoke_vid":invoke_vid,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_diii":invoke_diii,"invoke_viddi":invoke_viddi,"invoke_vidd":invoke_vidd,"invoke_iiii":invoke_iiii,"invoke_viiiiii":invoke_viiiiii,"invoke_di":invoke_di,"invoke_v":invoke_v,"invoke_iii":invoke_iii,"invoke_viiddi":invoke_viiddi,"invoke_dii":invoke_dii,"invoke_i":invoke_i,"invoke_viiid":invoke_viiid,"invoke_viii":invoke_viii,"invoke_viididi":invoke_viididi,"invoke_viid":invoke_viid,"invoke_idd":invoke_idd,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_emscripten_asm_const_iiiii":_emscripten_asm_const_iiiii,"_emscripten_asm_const_iiidddddd":_emscripten_asm_const_iiidddddd,"__nbind_finish":__nbind_finish,"__nbind_reference_external":__nbind_reference_external,"_emscripten_asm_const_iiiiiiii":_emscripten_asm_const_iiiiiiii,"_removeAccessorPrefix":_removeAccessorPrefix,"___cxa_guard_acquire":___cxa_guard_acquire,"_typeModule":_typeModule,"__nbind_register_pool":__nbind_register_pool,"___gxx_personality_v0":___gxx_personality_v0,"__decorate":__decorate,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"___cxa_atexit":___cxa_atexit,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"__extends":__extends,"___cxa_guard_release":___cxa_guard_release,"__nbind_get_value_object":__nbind_get_value_object,"___setErrNo":___setErrNo,"__nbind_register_primitive":__nbind_register_primitive,"_sbrk":_sbrk,"__nbind_register_type":__nbind_register_type,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_sysconf":_sysconf,"__nbind_register_class":__nbind_register_class,"_llvm_fabs_f32":_llvm_fabs_f32,"_abort":_abort,"_nbind_value":_nbind_value,"_pthread_self":_pthread_self,"_llvm_stacksave":_llvm_stacksave,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"___syscall54":___syscall54,"_defineHidden":_defineHidden,"_emscripten_set_main_loop":_emscripten_set_main_loop,"__nbind_register_callback_signature":__nbind_register_callback_signature,"_emscripten_asm_const_iiiiii":_emscripten_asm_const_iiiiii,"__nbind_register_function":__nbind_register_function,"__nbind_free_external":__nbind_free_external,"_emscripten_asm_const_iiii":_emscripten_asm_const_iiii,"___cxa_throw":___cxa_throw,"_emscripten_asm_const_iiididi":_emscripten_asm_const_iiididi,"___syscall6":___syscall6,"_pthread_cleanup_push":_pthread_cleanup_push,"_time":_time,"_atexit":_atexit,"___syscall140":___syscall140,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"___dso_handle":___dso_handle};// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer) {
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.___dso_handle|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=global.Math.floor;var O=global.Math.abs;var P=global.Math.sqrt;var Q=global.Math.pow;var R=global.Math.cos;var S=global.Math.sin;var T=global.Math.tan;var U=global.Math.acos;var V=global.Math.asin;var W=global.Math.atan;var X=global.Math.atan2;var Y=global.Math.exp;var Z=global.Math.log;var _=global.Math.ceil;var $=global.Math.imul;var aa=global.Math.min;var ba=global.Math.clz32;var ca=env.abort;var da=env.assert;var ea=env.invoke_viiiii;var fa=env.invoke_vid;var ga=env.invoke_vi;var ha=env.invoke_vii;var ia=env.invoke_ii;var ja=env.invoke_diii;var ka=env.invoke_viddi;var la=env.invoke_vidd;var ma=env.invoke_iiii;var na=env.invoke_viiiiii;var oa=env.invoke_di;var pa=env.invoke_v;var qa=env.invoke_iii;var ra=env.invoke_viiddi;var sa=env.invoke_dii;var ta=env.invoke_i;var ua=env.invoke_viiid;var va=env.invoke_viii;var wa=env.invoke_viididi;var xa=env.invoke_viid;var ya=env.invoke_idd;var za=env.invoke_viiii;var Aa=env._pthread_cleanup_pop;var Ba=env._emscripten_asm_const_iiiii;var Ca=env._emscripten_asm_const_iiidddddd;var Da=env.__nbind_finish;var Ea=env.__nbind_reference_external;var Fa=env._emscripten_asm_const_iiiiiiii;var Ga=env._removeAccessorPrefix;var Ha=env.___cxa_guard_acquire;var Ia=env._typeModule;var Ja=env.__nbind_register_pool;var Ka=env.___gxx_personality_v0;var La=env.__decorate;var Ma=env._llvm_stackrestore;var Na=env.___assert_fail;var Oa=env.___cxa_atexit;var Pa=env.___cxa_allocate_exception;var Qa=env.__ZSt18uncaught_exceptionv;var Ra=env.__extends;var Sa=env.___cxa_guard_release;var Ta=env.__nbind_get_value_object;var Ua=env.___setErrNo;var Va=env.__nbind_register_primitive;var Wa=env._sbrk;var Xa=env.__nbind_register_type;var Ya=env._emscripten_memcpy_big;var Za=env.___resumeException;var _a=env.___cxa_find_matching_catch;var $a=env._sysconf;var ab=env.__nbind_register_class;var bb=env._llvm_fabs_f32;var cb=env._abort;var db=env._nbind_value;var eb=env._pthread_self;var fb=env._llvm_stacksave;var gb=env._emscripten_set_main_loop_timing;var hb=env.___syscall54;var ib=env._defineHidden;var jb=env._emscripten_set_main_loop;var kb=env.__nbind_register_callback_signature;var lb=env._emscripten_asm_const_iiiiii;var mb=env.__nbind_register_function;var nb=env.__nbind_free_external;var ob=env._emscripten_asm_const_iiii;var pb=env.___cxa_throw;var qb=env._emscripten_asm_const_iiididi;var rb=env.___syscall6;var sb=env._pthread_cleanup_push;var tb=env._time;var ub=env._atexit;var vb=env.___syscall140;var wb=env.___syscall146;var xb=0.0;
// EMSCRIPTEN_START_FUNCS
function Be(a){a=a|0;a=rc(c[a>>2]|0)|0;if(!a){a=0;return a|0}a=Ac(a)|0;return a|0}function Ce(a,b){a=a|0;b=b|0;b=lc(c[a>>2]|0,b)|0;if(!b){a=0;return a|0}a=Ac(b)|0;return a|0}function De(a,b){a=a|0;b=b|0;var d=0,e=0;e=gk(4)|0;d=c[b>>2]|0;c[e>>2]=d;Ea(d|0);d=a+4|0;b=c[d>>2]|0;c[d>>2]=e;if(!b){e=c[a>>2]|0;pc(e,1);return}d=c[b>>2]|0;if(d|0)nb(d|0);Qj(b);e=c[a>>2]|0;pc(e,1);return}function Ee(a,b,d,e,f,j){a=a|0;b=b|0;d=+d;e=e|0;f=+f;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+48|0;p=k+24|0;o=k+36|0;n=k+16|0;m=k+32|0;l=k;b=Ac(b)|0;h[p>>3]=d;c[o>>2]=e;h[n>>3]=f;c[m>>2]=j;Fe(l,c[b+4>>2]|0,p,o,n,m);g[a>>2]=+h[l>>3];g[a+4>>2]=+h[l+8>>3];i=k;return}function Fe(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l=0.0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p;n=p+32|0;Ti(n);m=c[d>>2]|0;l=+h[e>>3];e=c[f>>2]|0;k=+h[g>>3];d=c[j>>2]|0;if((a[7952]|0)==0?Ha(7952)|0:0){c[2099]=900;c[2100]=4;c[2101]=kb(900,5)|0;Sa(7952)}d=qb(0,c[2101]|0,m|0,+l,e|0,+k,d|0)|0;if(!(d&1)){o=d;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];Ui(n);i=p;return}else{c[o>>2]=0;c[o+8>>2]=0;a[o+24>>0]=0;Ta(d|0,o|0)|0;o=o+8|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];Ui(n);i=p;return}}function Ge(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0)nb(d|0);Qj(b)}pc(c[a>>2]|0,0);return}function He(a){a=a|0;sc(c[a>>2]|0);return}function Ie(a){a=a|0;return tc(c[a>>2]|0)|0}function Je(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;zd(c[a>>2]|0,b,d,e);return}function Ke(a){a=a|0;return +(+nd(c[a>>2]|0))}function Le(a){a=a|0;return +(+pd(c[a>>2]|0))}function Me(a){a=a|0;return +(+od(c[a>>2]|0))}function Ne(a){a=a|0;return +(+qd(c[a>>2]|0))}function Oe(a){a=a|0;return +(+rd(c[a>>2]|0))}function Pe(a){a=a|0;return +(+sd(c[a>>2]|0))}function Qe(a,b){a=a|0;b=b|0;h[a>>3]=+nd(c[b>>2]|0);h[a+8>>3]=+pd(c[b>>2]|0);h[a+16>>3]=+od(c[b>>2]|0);h[a+24>>3]=+qd(c[b>>2]|0);h[a+32>>3]=+rd(c[b>>2]|0);h[a+40>>3]=+sd(c[b>>2]|0);return}function Re(a,b){a=a|0;b=b|0;Cd(a,b);return}function Se(a){a=a|0;return Bd(a)|0}function Te(){return oc()|0}function Ue(){var b=0;b=Ve(1,0)|0;if((a[7960]|0)==0?Ha(7960)|0:0){c[2102]=0;c[2103]=1;c[2104]=8444;c[2105]=920;c[2106]=2;c[2108]=0;c[2109]=0;c[2110]=0;Oa(22,8408,n|0)|0;Sa(7960)}Fh(4106,1,b,8408,0);b=Ze(4,0)|0;if((a[7968]|0)==0?Ha(7968)|0:0){c[2112]=0;c[2113]=3;c[2114]=8444;c[2115]=932;c[2116]=1;c[2118]=0;c[2119]=0;c[2120]=0;Oa(23,8448,n|0)|0;Sa(7968)}Fh(4136,4,b,8448,0);b=bf(1,0)|0;if((a[7976]|0)==0?Ha(7976)|0:0){c[2121]=0;c[2122]=5;c[2123]=8444;c[2124]=940;c[2125]=0;c[2127]=0;c[2128]=0;c[2129]=0;Oa(24,8484,n|0)|0;Sa(7976)}Fh(4165,1,b,8484,0);ff(8520);tf(8648);Cf(8732);return}function Ve(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[7960]|0)==0?Ha(7960)|0:0){c[2102]=0;c[2103]=1;c[2104]=8444;c[2105]=920;c[2106]=2;c[2108]=0;c[2109]=0;c[2110]=0;Oa(22,8408,n|0)|0;Sa(7960)}d=d|4;c[f>>2]=d;b=c[2109]|0;if(b>>>0<(c[2110]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2109]=e;f=c[2108]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{Ye(8432,e,f);e=c[2109]|0;f=c[2108]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function We(b,d,e){b=b|0;d=d|0;e=e|0;if((a[7960]|0)==0?Ha(7960)|0:0){c[2102]=0;c[2103]=1;c[2104]=8444;c[2105]=920;c[2106]=2;c[2108]=0;c[2109]=0;c[2110]=0;Oa(22,8408,n|0)|0;Sa(7960)}Bb[c[(c[8432>>2]|0)+(b<<3)>>2]&31](d,(e|0)!=0);return}function Xe(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function Ze(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[7968]|0)==0?Ha(7968)|0:0){c[2112]=0;c[2113]=3;c[2114]=8444;c[2115]=932;c[2116]=1;c[2118]=0;c[2119]=0;c[2120]=0;Oa(23,8448,n|0)|0;Sa(7968)}d=d|4;c[f>>2]=d;b=c[2119]|0;if(b>>>0<(c[2120]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2119]=e;f=c[2118]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{af(8472,e,f);e=c[2119]|0;f=c[2118]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function _e(b,d){b=b|0;d=d|0;if((a[7968]|0)==0?Ha(7968)|0:0){c[2112]=0;c[2113]=3;c[2114]=8444;c[2115]=932;c[2116]=1;c[2118]=0;c[2119]=0;c[2120]=0;Oa(23,8448,n|0)|0;Sa(7968)}return (Cb[c[(c[8472>>2]|0)+(b<<3)>>2]&31](d)|0)&1|0}function $e(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function bf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[7976]|0)==0?Ha(7976)|0:0){c[2121]=0;c[2122]=5;c[2123]=8444;c[2124]=940;c[2125]=0;c[2127]=0;c[2128]=0;c[2129]=0;Oa(24,8484,n|0)|0;Sa(7976)}d=d|4;c[f>>2]=d;b=c[2128]|0;if(b>>>0<(c[2129]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2128]=e;f=c[2127]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{ef(8508,e,f);e=c[2128]|0;f=c[2127]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function cf(b){b=b|0;if((a[7976]|0)==0?Ha(7976)|0:0){c[2121]=0;c[2122]=5;c[2123]=8444;c[2124]=940;c[2125]=0;c[2127]=0;c[2128]=0;c[2129]=0;Oa(24,8484,n|0)|0;Sa(7976)}return Nb[c[(c[8508>>2]|0)+(b<<3)>>2]&7]()|0}function df(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function ff(b){b=b|0;var d=0,e=0,f=0;gf(b,4182);d=c[b>>2]|0;if((a[8e3]|0)==0?Ha(8e3)|0:0){c[2144]=4;c[2145]=2;c[2146]=8444;c[2147]=984;c[2148]=0;c[2150]=0;c[2151]=0;c[2152]=0;c[2149]=25;Oa(26,8576,n|0)|0;Sa(8e3)}d=d+28|0;f=c[d>>2]|0;e=gk(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=8576;c[e+20>>2]=0;c[e>>2]=c[f>>2];c[f>>2]=e;c[d>>2]=e;d=c[b>>2]|0;if((a[8008]|0)==0?Ha(8008)|0:0){c[2153]=4;c[2154]=1;c[2155]=8444;c[2156]=988;c[2157]=2;c[2159]=0;c[2160]=0;c[2161]=0;c[2158]=1;Oa(27,8612,n|0)|0;Sa(8008)}f=d+28|0;b=c[f>>2]|0;e=gk(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=8612;c[e+20>>2]=0;c[e>>2]=c[b>>2];c[b>>2]=e;c[f>>2]=e;return}function gf(b,d){b=b|0;d=d|0;if((a[7984]|0)==0?Ha(7984)|0:0){c[2135]=0;c[2136]=0;c[2137]=0;c[2138]=8548;c[2140]=0;Oa(28,8524,n|0)|0;Sa(7984)}c[b>>2]=8524;c[2131]=10555;c[2132]=944;c[2134]=d;if((a[7992]|0)==0?Ha(7992)|0:0){c[2142]=c[238];c[2143]=0;Sa(7992)}c[2133]=8568;c[2139]=3;Eh(c[b>>2]|0);return}function hf(a){a=a|0;var b=0,d=0,e=0;d=a+24|0;b=c[d>>2]|0;if(b|0)do{e=b;b=c[b>>2]|0;Qj(e)}while((b|0)!=0);c[d>>2]=0;d=a+16|0;b=c[d>>2]|0;if(!b){c[d>>2]=0;return}do{e=b;b=c[b>>2]|0;Qj(e)}while((b|0)!=0);c[d>>2]=0;return}function jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function kf(){var a=0,b=0,d=0,e=0,f=0;b=xi(8)|0;a=b;d=gk(16)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;f=a+4|0;c[f>>2]=d;d=gk(8)|0;f=c[f>>2]|0;c[d>>2]=f;e=gk(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=964;c[e+12>>2]=f;c[d+4>>2]=e;c[b>>2]=d;return a|0}function lf(a){a=a|0;Hj(a);Qj(a);return}function mf(a){a=a|0;a=c[a+12>>2]|0;if(!a)return;Qj(a);return}function nf(a){a=a|0;Qj(a);return}function of(b){b=b|0;var d=0;d=b+8|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[b+24>>0]=1;return}function pf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function qf(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0;e=xi(8)|0;d=e;f=gk(16)|0;h[f>>3]=a;h[f+8>>3]=b;i=d+4|0;c[i>>2]=f;f=gk(8)|0;i=c[i>>2]|0;c[f>>2]=i;g=gk(16)|0;c[g+4>>2]=0;c[g+8>>2]=0;c[g>>2]=964;c[g+12>>2]=i;c[f+4>>2]=g;c[e>>2]=f;return d|0}function rf(b,c,d){b=b|0;c=+c;d=+d;h[b+8>>3]=c;h[b+16>>3]=d;a[b+24>>0]=1;return}function sf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function tf(b){b=b|0;var d=0,e=0;uf(b,4193);b=c[b>>2]|0;if((a[8024]|0)==0?Ha(8024)|0:0){c[2174]=4;c[2175]=3;c[2176]=8444;c[2177]=1036;c[2178]=0;c[2180]=0;c[2181]=0;c[2182]=0;c[2179]=29;Oa(30,8696,n|0)|0;Sa(8024)}b=b+28|0;e=c[b>>2]|0;d=gk(24)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=8696;c[d+20>>2]=0;c[d>>2]=c[e>>2];c[e>>2]=d;c[b>>2]=d;return}function uf(b,d){b=b|0;d=d|0;if((a[8016]|0)==0?Ha(8016)|0:0){c[2167]=0;c[2168]=0;c[2169]=0;c[2170]=8676;c[2172]=0;Oa(28,8652,n|0)|0;Sa(8016)}c[b>>2]=8652;c[2163]=10561;c[2164]=1e3;c[2166]=d;if((a[7992]|0)==0?Ha(7992)|0:0){c[2142]=c[238];c[2143]=0;Sa(7992)}c[2165]=8568;c[2171]=4;Eh(c[b>>2]|0);return}function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function wf(){var a=0,b=0,d=0,e=0,f=0;a=xi(8)|0;b=a;d=gk(48)|0;e=d;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=b+4|0;c[e>>2]=d;f=gk(8)|0;d=c[e>>2]|0;c[f>>2]=d;e=gk(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=1016;c[e+12>>2]=d;c[f+4>>2]=e;c[a>>2]=f;return b|0}function xf(a){a=a|0;Hj(a);Qj(a);return}function yf(a){a=a|0;a=c[a+12>>2]|0;if(!a)return;Qj(a);return}function zf(a){a=a|0;Qj(a);return}function Af(b){b=b|0;var d=0,e=0;d=b+8|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[b+56>>0]=1;return}function Bf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Cf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b;Df(a,4200);Ff(a,4205,4,0);Kf(a,4212,31,0);c[e>>2]=32;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Pf(a,4220,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Uf(a,4226,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4236,d,0);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,4252,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4264,d,0);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4280,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4294,d,0);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4307,d,0);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4324,d,0);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4336,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,4354,d,0);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Zf(a,4364,d,0);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4376,d,0);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4384,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4397,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4409,d,0);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4423,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4432,d,0);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4442,d,0);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4454,d,0);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4467,d,0);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4479,d,0);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];hg(a,4492,d,0);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,4507,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];cg(a,4517,d,0);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4528,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];rg(a,4544,d,1);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4556,d,1);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4572,d,1);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4586,d,1);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4599,d,1);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4616,d,1);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];mg(a,4628,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];rg(a,4646,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4656,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4669,d,1);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4681,d,1);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4695,d,1);c[e>>2]=5;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4704,d,1);c[e>>2]=6;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4714,d,1);c[e>>2]=7;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4726,d,1);c[e>>2]=8;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4739,d,1);c[e>>2]=9;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4751,d,1);c[e>>2]=10;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4764,d,1);c[e>>2]=3;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];rg(a,4779,d,1);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];rg(a,4789,d,1);c[e>>2]=2;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Bg(a,4800,d,0);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Gg(a,4812,d,0);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Lg(a,4824,d,1);c[e>>2]=14;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Qg(a,4838,d,0);c[e>>2]=4;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Vg(a,4848,d,0);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];_g(a,4857,d,0);c[e>>2]=33;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Pf(a,4872,d,0);c[e>>2]=34;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];Pf(a,4889,d,0);c[e>>2]=15;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];dh(a,4899,d,1);c[e>>2]=1;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];ih(a,4907,d,0);c[e>>2]=11;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4923,d,1);c[e>>2]=12;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4939,d,1);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4956,d,1);c[e>>2]=14;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4971,d,1);c[e>>2]=15;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,4989,d,1);c[e>>2]=16;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];wg(a,5006,d,1);c[e>>2]=13;c[e+4>>2]=0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];nh(a,5024,d,1);i=b;return}function Df(b,d){b=b|0;d=d|0;if((a[8032]|0)==0?Ha(8032)|0:0){c[2188]=0;c[2189]=0;c[2190]=0;c[2191]=8760;c[2193]=0;Oa(28,8736,n|0)|0;Sa(8032)}c[b>>2]=8736;c[2184]=10562;c[2185]=1040;c[2187]=d;if((a[8040]|0)==0?Ha(8040)|0:0){c[2195]=0;c[2196]=0;Sa(8040)}c[2186]=8780;c[2192]=5;Eh(c[b>>2]|0);return}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Fd(b);Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8048]|0)==0?Ha(8048)|0:0){c[2197]=0;c[2198]=16;c[2199]=8444;c[2200]=1048;c[2201]=0;c[2203]=0;c[2204]=0;c[2205]=0;Oa(35,8788,n|0)|0;Sa(8048)}i=If(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=8788;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function Gf(b){b=b|0;if((a[8048]|0)==0?Ha(8048)|0:0){c[2197]=0;c[2198]=16;c[2199]=8444;c[2200]=1048;c[2201]=0;c[2203]=0;c[2204]=0;c[2205]=0;Oa(35,8788,n|0)|0;Sa(8048)}return Nb[c[(c[8812>>2]|0)+(b<<3)>>2]&7]()|0}function Hf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function If(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8048]|0)==0?Ha(8048)|0:0){c[2197]=0;c[2198]=16;c[2199]=8444;c[2200]=1048;c[2201]=0;c[2203]=0;c[2204]=0;c[2205]=0;Oa(35,8788,n|0)|0;Sa(8048)}d=d|4;c[f>>2]=d;b=c[2204]|0;if(b>>>0<(c[2205]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2204]=e;f=c[2203]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{Jf(8812,e,f);e=c[2204]|0;f=c[2203]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function Jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function Kf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8056]|0)==0?Ha(8056)|0:0){c[2206]=0;c[2207]=14;c[2208]=8444;c[2209]=1052;c[2210]=1;c[2212]=0;c[2213]=0;c[2214]=0;Oa(36,8824,n|0)|0;Sa(8056)}i=Nf(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=8824;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function Lf(b,d){b=b|0;d=d|0;if((a[8056]|0)==0?Ha(8056)|0:0){c[2206]=0;c[2207]=14;c[2208]=8444;c[2209]=1052;c[2210]=1;c[2212]=0;c[2213]=0;c[2214]=0;Oa(36,8824,n|0)|0;Sa(8056)}Ab[c[(c[8848>>2]|0)+(b<<3)>>2]&127](d);return}function Mf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Nf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8056]|0)==0?Ha(8056)|0:0){c[2206]=0;c[2207]=14;c[2208]=8444;c[2209]=1052;c[2210]=1;c[2212]=0;c[2213]=0;c[2214]=0;Oa(36,8824,n|0)|0;Sa(8056)}d=d|4;c[f>>2]=d;b=c[2213]|0;if(b>>>0<(c[2214]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2213]=e;f=c[2212]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{Of(8848,e,f);e=c[2213]|0;f=c[2212]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function Of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function Pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8064]|0)==0?Ha(8064)|0:0){c[2215]=1;c[2216]=15;c[2217]=8444;c[2218]=1060;c[2219]=0;c[2221]=0;c[2222]=0;c[2223]=0;Oa(37,8860,n|0)|0;Sa(8064)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Sf(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=8860;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[8064]|0)==0?Ha(8064)|0:0){c[2215]=1;c[2216]=15;c[2217]=8444;c[2218]=1060;c[2219]=0;c[2221]=0;c[2222]=0;c[2223]=0;Oa(37,8860,n|0)|0;Sa(8064)}f=c[2221]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;Ab[f&127](b);return}else{f=c[(c[b>>2]|0)+e>>2]|0;Ab[f&127](b);return}}function Rf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8064]|0)==0?Ha(8064)|0:0){c[2215]=1;c[2216]=15;c[2217]=8444;c[2218]=1060;c[2219]=0;c[2221]=0;c[2222]=0;c[2223]=0;Oa(37,8860,n|0)|0;Sa(8064)}b=d|4;c[g>>2]=b;d=c[2222]|0;if(d>>>0<(c[2223]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2222]|0)+12|0;c[2222]=g;j=c[2221]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Tf(8884,f,g);g=c[2222]|0;j=c[2221]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Uf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8072]|0)==0?Ha(8072)|0:0){c[2224]=1;c[2225]=3;c[2226]=8444;c[2227]=1064;c[2228]=1;c[2230]=0;c[2231]=0;c[2232]=0;Oa(38,8896,n|0)|0;Sa(8072)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Xf(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=8896;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Vf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a[8072]|0)==0?Ha(8072)|0:0){c[2224]=1;c[2225]=3;c[2226]=8444;c[2227]=1064;c[2228]=1;c[2230]=0;c[2231]=0;c[2232]=0;Oa(38,8896,n|0)|0;Sa(8072)}g=c[2230]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;Bb[g&31](b,e);return}else{g=c[(c[b>>2]|0)+f>>2]|0;Bb[g&31](b,e);return}}function Wf(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Xf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8072]|0)==0?Ha(8072)|0:0){c[2224]=1;c[2225]=3;c[2226]=8444;c[2227]=1064;c[2228]=1;c[2230]=0;c[2231]=0;c[2232]=0;Oa(38,8896,n|0)|0;Sa(8072)}b=d|4;c[g>>2]=b;d=c[2231]|0;if(d>>>0<(c[2232]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2231]|0)+12|0;c[2231]=g;j=c[2230]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Yf(8920,f,g);g=c[2231]|0;j=c[2230]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Zf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8080]|0)==0?Ha(8080)|0:0){c[2233]=1;c[2234]=4;c[2235]=8444;c[2236]=1088;c[2237]=1;c[2239]=0;c[2240]=0;c[2241]=0;Oa(39,8932,n|0)|0;Sa(8080)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=ag(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=8932;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function _f(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a[8080]|0)==0?Ha(8080)|0:0){c[2233]=1;c[2234]=4;c[2235]=8444;c[2236]=1088;c[2237]=1;c[2239]=0;c[2240]=0;c[2241]=0;Oa(39,8932,n|0)|0;Sa(8080)}g=c[2239]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;Bb[g&31](b,e);return}else{g=c[(c[b>>2]|0)+f>>2]|0;Bb[g&31](b,e);return}}function $f(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8080]|0)==0?Ha(8080)|0:0){c[2233]=1;c[2234]=4;c[2235]=8444;c[2236]=1088;c[2237]=1;c[2239]=0;c[2240]=0;c[2241]=0;Oa(39,8932,n|0)|0;Sa(8080)}b=d|4;c[g>>2]=b;d=c[2240]|0;if(d>>>0<(c[2241]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2240]|0)+12|0;c[2240]=g;j=c[2239]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{bg(8956,f,g);g=c[2240]|0;j=c[2239]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function cg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8088]|0)==0?Ha(8088)|0:0){c[2242]=1;c[2243]=1;c[2244]=8444;c[2245]=1096;c[2246]=2;c[2248]=0;c[2249]=0;c[2250]=0;Oa(40,8968,n|0)|0;Sa(8088)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=fg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=8968;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0;if((a[8088]|0)==0?Ha(8088)|0:0){c[2242]=1;c[2243]=1;c[2244]=8444;c[2245]=1096;c[2246]=2;c[2248]=0;c[2249]=0;c[2250]=0;Oa(40,8968,n|0)|0;Sa(8088)}h=c[2248]|0;g=c[h+(b*12|0)>>2]|0;h=c[h+(b*12|0)+4>>2]|0;b=d+(h>>1)|0;if(!(h&1)){h=g;Rb[h&7](b,e,f);return}else{h=c[(c[b>>2]|0)+g>>2]|0;Rb[h&7](b,e,f);return}}function eg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function fg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8088]|0)==0?Ha(8088)|0:0){c[2242]=1;c[2243]=1;c[2244]=8444;c[2245]=1096;c[2246]=2;c[2248]=0;c[2249]=0;c[2250]=0;Oa(40,8968,n|0)|0;Sa(8088)}b=d|4;c[g>>2]=b;d=c[2249]|0;if(d>>>0<(c[2250]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2249]|0)+12|0;c[2249]=g;j=c[2248]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{gg(8992,f,g);g=c[2249]|0;j=c[2248]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function hg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8096]|0)==0?Ha(8096)|0:0){c[2251]=1;c[2252]=5;c[2253]=8444;c[2254]=1108;c[2255]=1;c[2257]=0;c[2258]=0;c[2259]=0;Oa(41,9004,n|0)|0;Sa(8096)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=kg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9004;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function ig(b,d,e){b=b|0;d=d|0;e=+e;var f=0,g=0;if((a[8096]|0)==0?Ha(8096)|0:0){c[2251]=1;c[2252]=5;c[2253]=8444;c[2254]=1108;c[2255]=1;c[2257]=0;c[2258]=0;c[2259]=0;Oa(41,9004,n|0)|0;Sa(8096)}g=c[2257]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;zb[g&15](b,e);return}else{g=c[(c[b>>2]|0)+f>>2]|0;zb[g&15](b,e);return}}function jg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8096]|0)==0?Ha(8096)|0:0){c[2251]=1;c[2252]=5;c[2253]=8444;c[2254]=1108;c[2255]=1;c[2257]=0;c[2258]=0;c[2259]=0;Oa(41,9004,n|0)|0;Sa(8096)}b=d|4;c[g>>2]=b;d=c[2258]|0;if(d>>>0<(c[2259]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2258]|0)+12|0;c[2258]=g;j=c[2257]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{lg(9028,f,g);g=c[2258]|0;j=c[2257]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function mg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8104]|0)==0?Ha(8104)|0:0){c[2260]=1;c[2261]=5;c[2262]=8444;c[2263]=1116;c[2264]=0;c[2266]=0;c[2267]=0;c[2268]=0;Oa(42,9040,n|0)|0;Sa(8104)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=pg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9040;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function ng(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[8104]|0)==0?Ha(8104)|0:0){c[2260]=1;c[2261]=5;c[2262]=8444;c[2263]=1116;c[2264]=0;c[2266]=0;c[2267]=0;c[2268]=0;Oa(42,9040,n|0)|0;Sa(8104)}f=c[2266]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;f=Cb[f&31](b)|0;return f|0}else{f=c[(c[b>>2]|0)+e>>2]|0;f=Cb[f&31](b)|0;return f|0}return 0}function og(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8104]|0)==0?Ha(8104)|0:0){c[2260]=1;c[2261]=5;c[2262]=8444;c[2263]=1116;c[2264]=0;c[2266]=0;c[2267]=0;c[2268]=0;Oa(42,9040,n|0)|0;Sa(8104)}b=d|4;c[g>>2]=b;d=c[2267]|0;if(d>>>0<(c[2268]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2267]|0)+12|0;c[2267]=g;j=c[2266]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{qg(9064,f,g);g=c[2267]|0;j=c[2266]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function rg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8112]|0)==0?Ha(8112)|0:0){c[2269]=1;c[2270]=1;c[2271]=8444;c[2272]=1120;c[2273]=1;c[2275]=0;c[2276]=0;c[2277]=0;Oa(43,9076,n|0)|0;Sa(8112)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=ug(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9076;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0.0;if((a[8112]|0)==0?Ha(8112)|0:0){c[2269]=1;c[2270]=1;c[2271]=8444;c[2272]=1120;c[2273]=1;c[2275]=0;c[2276]=0;c[2277]=0;Oa(43,9076,n|0)|0;Sa(8112)}g=c[2275]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;h=+Mb[g&7](b,e);return +h}else{g=c[(c[b>>2]|0)+f>>2]|0;h=+Mb[g&7](b,e);return +h}return 0.0}function tg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8112]|0)==0?Ha(8112)|0:0){c[2269]=1;c[2270]=1;c[2271]=8444;c[2272]=1120;c[2273]=1;c[2275]=0;c[2276]=0;c[2277]=0;Oa(43,9076,n|0)|0;Sa(8112)}b=d|4;c[g>>2]=b;d=c[2276]|0;if(d>>>0<(c[2277]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2276]|0)+12|0;c[2276]=g;j=c[2275]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{vg(9100,f,g);g=c[2276]|0;j=c[2275]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function vg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function wg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8120]|0)==0?Ha(8120)|0:0){c[2278]=1;c[2279]=5;c[2280]=8444;c[2281]=1128;c[2282]=0;c[2284]=0;c[2285]=0;c[2286]=0;Oa(44,9112,n|0)|0;Sa(8120)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=zg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9112;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function xg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0;if((a[8120]|0)==0?Ha(8120)|0:0){c[2278]=1;c[2279]=5;c[2280]=8444;c[2281]=1128;c[2282]=0;c[2284]=0;c[2285]=0;c[2286]=0;Oa(44,9112,n|0)|0;Sa(8120)}f=c[2284]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;g=+Ib[f&31](b);return +g}else{f=c[(c[b>>2]|0)+e>>2]|0;g=+Ib[f&31](b);return +g}return 0.0}function yg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8120]|0)==0?Ha(8120)|0:0){c[2278]=1;c[2279]=5;c[2280]=8444;c[2281]=1128;c[2282]=0;c[2284]=0;c[2285]=0;c[2286]=0;Oa(44,9112,n|0)|0;Sa(8120)}b=d|4;c[g>>2]=b;d=c[2285]|0;if(d>>>0<(c[2286]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2285]|0)+12|0;c[2285]=g;j=c[2284]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Ag(9136,f,g);g=c[2285]|0;j=c[2284]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Bg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8128]|0)==0?Ha(8128)|0:0){c[2287]=1;c[2288]=6;c[2289]=8444;c[2290]=1132;c[2291]=2;c[2293]=0;c[2294]=0;c[2295]=0;Oa(45,9148,n|0)|0;Sa(8128)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Eg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9148;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Cg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;if((a[8128]|0)==0?Ha(8128)|0:0){c[2287]=1;c[2288]=6;c[2289]=8444;c[2290]=1132;c[2291]=2;c[2293]=0;c[2294]=0;c[2295]=0;Oa(45,9148,n|0)|0;Sa(8128)}h=c[2293]|0;g=c[h+(b*12|0)>>2]|0;h=c[h+(b*12|0)+4>>2]|0;b=d+(h>>1)|0;if(!(h&1)){h=g;Pb[h&15](b,e,f);return}else{h=c[(c[b>>2]|0)+g>>2]|0;Pb[h&15](b,e,f);return}}function Dg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8128]|0)==0?Ha(8128)|0:0){c[2287]=1;c[2288]=6;c[2289]=8444;c[2290]=1132;c[2291]=2;c[2293]=0;c[2294]=0;c[2295]=0;Oa(45,9148,n|0)|0;Sa(8128)}b=d|4;c[g>>2]=b;d=c[2294]|0;if(d>>>0<(c[2295]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2294]|0)+12|0;c[2294]=g;j=c[2293]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Fg(9172,f,g);g=c[2294]|0;j=c[2293]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Gg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8136]|0)==0?Ha(8136)|0:0){c[2296]=1;c[2297]=5;c[2298]=8444;c[2299]=1052;c[2300]=1;c[2302]=0;c[2303]=0;c[2304]=0;Oa(46,9184,n|0)|0;Sa(8136)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Jg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9184;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a[8136]|0)==0?Ha(8136)|0:0){c[2296]=1;c[2297]=5;c[2298]=8444;c[2299]=1052;c[2300]=1;c[2302]=0;c[2303]=0;c[2304]=0;Oa(46,9184,n|0)|0;Sa(8136)}g=c[2302]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;Bb[g&31](b,e);return}else{g=c[(c[b>>2]|0)+f>>2]|0;Bb[g&31](b,e);return}}function Ig(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8136]|0)==0?Ha(8136)|0:0){c[2296]=1;c[2297]=5;c[2298]=8444;c[2299]=1052;c[2300]=1;c[2302]=0;c[2303]=0;c[2304]=0;Oa(46,9184,n|0)|0;Sa(8136)}b=d|4;c[g>>2]=b;d=c[2303]|0;if(d>>>0<(c[2304]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2303]|0)+12|0;c[2303]=g;j=c[2302]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Kg(9208,f,g);g=c[2303]|0;j=c[2302]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Lg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8144]|0)==0?Ha(8144)|0:0){c[2305]=1;c[2306]=6;c[2307]=8444;c[2308]=940;c[2309]=0;c[2311]=0;c[2312]=0;c[2313]=0;Oa(47,9220,n|0)|0;Sa(8144)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Og(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9220;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Mg(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[8144]|0)==0?Ha(8144)|0:0){c[2305]=1;c[2306]=6;c[2307]=8444;c[2308]=940;c[2309]=0;c[2311]=0;c[2312]=0;c[2313]=0;Oa(47,9220,n|0)|0;Sa(8144)}f=c[2311]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;f=Cb[f&31](b)|0;return f|0}else{f=c[(c[b>>2]|0)+e>>2]|0;f=Cb[f&31](b)|0;return f|0}return 0}function Ng(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8144]|0)==0?Ha(8144)|0:0){c[2305]=1;c[2306]=6;c[2307]=8444;c[2308]=940;c[2309]=0;c[2311]=0;c[2312]=0;c[2313]=0;Oa(47,9220,n|0)|0;Sa(8144)}b=d|4;c[g>>2]=b;d=c[2312]|0;if(d>>>0<(c[2313]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2312]|0)+12|0;c[2312]=g;j=c[2311]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Pg(9244,f,g);g=c[2312]|0;j=c[2311]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8152]|0)==0?Ha(8152)|0:0){c[2314]=1;c[2315]=7;c[2316]=8444;c[2317]=1048;c[2318]=0;c[2320]=0;c[2321]=0;c[2322]=0;Oa(48,9256,n|0)|0;Sa(8152)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Tg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9256;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Rg(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[8152]|0)==0?Ha(8152)|0:0){c[2314]=1;c[2315]=7;c[2316]=8444;c[2317]=1048;c[2318]=0;c[2320]=0;c[2321]=0;c[2322]=0;Oa(48,9256,n|0)|0;Sa(8152)}f=c[2320]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;f=Cb[f&31](b)|0;return f|0}else{f=c[(c[b>>2]|0)+e>>2]|0;f=Cb[f&31](b)|0;return f|0}return 0}function Sg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Tg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8152]|0)==0?Ha(8152)|0:0){c[2314]=1;c[2315]=7;c[2316]=8444;c[2317]=1048;c[2318]=0;c[2320]=0;c[2321]=0;c[2322]=0;Oa(48,9256,n|0)|0;Sa(8152)}b=d|4;c[g>>2]=b;d=c[2321]|0;if(d>>>0<(c[2322]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2321]|0)+12|0;c[2321]=g;j=c[2320]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Ug(9280,f,g);g=c[2321]|0;j=c[2320]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function Vg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8160]|0)==0?Ha(8160)|0:0){c[2323]=1;c[2324]=6;c[2325]=8444;c[2326]=1144;c[2327]=1;c[2329]=0;c[2330]=0;c[2331]=0;Oa(49,9292,n|0)|0;Sa(8160)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=Yg(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9292;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function Wg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((a[8160]|0)==0?Ha(8160)|0:0){c[2323]=1;c[2324]=6;c[2325]=8444;c[2326]=1144;c[2327]=1;c[2329]=0;c[2330]=0;c[2331]=0;Oa(49,9292,n|0)|0;Sa(8160)}g=c[2329]|0;f=c[g+(b*12|0)>>2]|0;g=c[g+(b*12|0)+4>>2]|0;b=d+(g>>1)|0;if(!(g&1)){g=f;g=Kb[g&15](b,e)|0;return g|0}else{g=c[(c[b>>2]|0)+f>>2]|0;g=Kb[g&15](b,e)|0;return g|0}return 0}function Xg(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function Yg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8160]|0)==0?Ha(8160)|0:0){c[2323]=1;c[2324]=6;c[2325]=8444;c[2326]=1144;c[2327]=1;c[2329]=0;c[2330]=0;c[2331]=0;Oa(49,9292,n|0)|0;Sa(8160)}b=d|4;c[g>>2]=b;d=c[2330]|0;if(d>>>0<(c[2331]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2330]|0)+12|0;c[2330]=g;j=c[2329]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{Zg(9316,f,g);g=c[2330]|0;j=c[2329]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function Zg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function _g(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8168]|0)==0?Ha(8168)|0:0){c[2332]=1;c[2333]=6;c[2334]=8444;c[2335]=1152;c[2336]=1;c[2338]=0;c[2339]=0;c[2340]=0;Oa(50,9328,n|0)|0;Sa(8168)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=bh(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9328;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function $g(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h;if((a[8168]|0)==0?Ha(8168)|0:0){c[2332]=1;c[2333]=6;c[2334]=8444;c[2335]=1152;c[2336]=1;c[2338]=0;c[2339]=0;c[2340]=0;Oa(50,9328,n|0)|0;Sa(8168)}j=c[2338]|0;f=c[j+(b*12|0)>>2]|0;j=c[j+(b*12|0)+4>>2]|0;b=d+(j>>1)|0;if(j&1)f=c[(c[b>>2]|0)+f>>2]|0;c[g>>2]=e;Bb[f&31](b,g);f=c[g>>2]|0;if(!f){i=h;return}nb(f|0);i=h;return}function ah(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function bh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8168]|0)==0?Ha(8168)|0:0){c[2332]=1;c[2333]=6;c[2334]=8444;c[2335]=1152;c[2336]=1;c[2338]=0;c[2339]=0;c[2340]=0;Oa(50,9328,n|0)|0;Sa(8168)}b=d|4;c[g>>2]=b;d=c[2339]|0;if(d>>>0<(c[2340]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2339]|0)+12|0;c[2339]=g;j=c[2338]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{ch(9352,f,g);g=c[2339]|0;j=c[2338]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function dh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8176]|0)==0?Ha(8176)|0:0){c[2341]=1;c[2342]=8;c[2343]=8444;c[2344]=1168;c[2345]=0;c[2347]=0;c[2348]=0;c[2349]=0;Oa(51,9364,n|0)|0;Sa(8176)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=gh(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9364;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function eh(b,d){b=b|0;d=d|0;var e=0,f=0;if((a[8176]|0)==0?Ha(8176)|0:0){c[2341]=1;c[2342]=8;c[2343]=8444;c[2344]=1168;c[2345]=0;c[2347]=0;c[2348]=0;c[2349]=0;Oa(51,9364,n|0)|0;Sa(8176)}f=c[2347]|0;e=c[f+(b*12|0)>>2]|0;f=c[f+(b*12|0)+4>>2]|0;b=d+(f>>1)|0;if(!(f&1)){f=e;f=Cb[f&31](b)|0;f=f&1;return f|0}else{f=c[(c[b>>2]|0)+e>>2]|0;f=Cb[f&31](b)|0;f=f&1;return f|0}return 0}function fh(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function gh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8176]|0)==0?Ha(8176)|0:0){c[2341]=1;c[2342]=8;c[2343]=8444;c[2344]=1168;c[2345]=0;c[2347]=0;c[2348]=0;c[2349]=0;Oa(51,9364,n|0)|0;Sa(8176)}b=d|4;c[g>>2]=b;d=c[2348]|0;if(d>>>0<(c[2349]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2348]|0)+12|0;c[2348]=g;j=c[2347]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{hh(9388,f,g);g=c[2348]|0;j=c[2347]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function ih(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8184]|0)==0?Ha(8184)|0:0){c[2350]=1;c[2351]=1;c[2352]=8444;c[2353]=1172;c[2354]=3;c[2356]=0;c[2357]=0;c[2358]=0;Oa(52,9400,n|0)|0;Sa(8184)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=lh(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9400;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function jh(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=+f;g=g|0;var h=0,i=0;if((a[8184]|0)==0?Ha(8184)|0:0){c[2350]=1;c[2351]=1;c[2352]=8444;c[2353]=1172;c[2354]=3;c[2356]=0;c[2357]=0;c[2358]=0;Oa(52,9400,n|0)|0;Sa(8184)}i=c[2356]|0;h=c[i+(b*12|0)>>2]|0;i=c[i+(b*12|0)+4>>2]|0;b=d+(i>>1)|0;if(!(i&1)){i=h;Eb[i&1](b,e,f,g);return}else{i=c[(c[b>>2]|0)+h>>2]|0;Eb[i&1](b,e,f,g);return}}function kh(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8184]|0)==0?Ha(8184)|0:0){c[2350]=1;c[2351]=1;c[2352]=8444;c[2353]=1172;c[2354]=3;c[2356]=0;c[2357]=0;c[2358]=0;Oa(52,9400,n|0)|0;Sa(8184)}b=d|4;c[g>>2]=b;d=c[2357]|0;if(d>>>0<(c[2358]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2357]|0)+12|0;c[2357]=g;j=c[2356]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{mh(9424,f,g);g=c[2357]|0;j=c[2356]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function nh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l;k=c[e>>2]|0;g=c[e+4>>2]|0;e=c[b>>2]|0;if((a[8192]|0)==0?Ha(8192)|0:0){c[2359]=1;c[2360]=9;c[2361]=8444;c[2362]=1188;c[2363]=0;c[2365]=0;c[2366]=0;c[2367]=0;Oa(53,9436,n|0)|0;Sa(8192)}c[j>>2]=k;c[j+4>>2]=g;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];b=sh(h,f)|0;k=e+28|0;h=c[k>>2]|0;j=gk(24)|0;c[j+4>>2]=d;c[j+8>>2]=0;c[j+12>>2]=b;c[j+16>>2]=9436;c[j+20>>2]=f;c[j>>2]=c[h>>2];c[h>>2]=j;c[k>>2]=j;i=l;return}function oh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;f=g;if((a[8192]|0)==0?Ha(8192)|0:0){c[2359]=1;c[2360]=9;c[2361]=8444;c[2362]=1188;c[2363]=0;c[2365]=0;c[2366]=0;c[2367]=0;Oa(53,9436,n|0)|0;Sa(8192)}h=c[2365]|0;e=c[h+(b*12|0)>>2]|0;h=c[h+(b*12|0)+4>>2]|0;b=d+(h>>1)|0;if(!(h&1)){h=e;Bb[h&31](f,b);h=qh(f)|0;i=g;return h|0}else{h=c[(c[b>>2]|0)+e>>2]|0;Bb[h&31](f,b);h=qh(f)|0;i=g;return h|0}return 0}function ph(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);Qj(d);return}function qh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k;if((a[8016]|0)==0?Ha(8016)|0:0){c[2167]=0;c[2168]=0;c[2169]=0;c[2170]=8676;c[2172]=0;Oa(28,8652,n|0)|0;Sa(8016)}d=c[2172]|0;if(!d){f=xi(8)|0;g=f;h=gk(48)|0;j=h;d=b;e=j+48|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(e|0));b=g+4|0;c[b>>2]=h;j=gk(8)|0;h=c[b>>2]|0;c[j>>2]=h;b=gk(16)|0;c[b+4>>2]=0;c[b+8>>2]=0;c[b>>2]=1016;c[b+12>>2]=h;c[j+4>>2]=b;c[f>>2]=j;j=g;i=k;return j|0}else{c[e>>2]=d;j=e+4|0;c[j>>2]=e;h=e+8|0;c[h>>2]=0;c[h>>2]=rh(d,b,b+8|0,b+16|0,b+24|0,b+32|0,b+40|0)|0;j=c[(c[j>>2]|0)+8>>2]|0;i=k;return j|0}return 0}function rh(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;s=i;i=i+16|0;r=s;Ti(r);b=c[b>>2]|0;q=+h[d>>3];p=+h[e>>3];o=+h[f>>3];n=+h[g>>3];m=+h[j>>3];l=+h[k>>3];if((a[8200]|0)==0?Ha(8200)|0:0){c[2368]=1192;c[2369]=6;c[2370]=kb(1192,7)|0;Sa(8200)}k=Ca(0,c[2370]|0,b|0,+q,+p,+o,+n,+m,+l)|0;Ui(r);i=s;return k|0}function sh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;g=h;j=c[b+4>>2]|0;c[f>>2]=c[b>>2];e=f+4|0;c[e>>2]=j;if((a[8192]|0)==0?Ha(8192)|0:0){c[2359]=1;c[2360]=9;c[2361]=8444;c[2362]=1188;c[2363]=0;c[2365]=0;c[2366]=0;c[2367]=0;Oa(53,9436,n|0)|0;Sa(8192)}b=d|4;c[g>>2]=b;d=c[2366]|0;if(d>>>0<(c[2367]|0)>>>0){g=c[e>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[d+8>>2]=b;g=(c[2366]|0)+12|0;c[2366]=g;j=c[2365]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}else{th(9460,f,g);g=c[2366]|0;j=c[2365]|0;j=g-j|0;j=(j|0)/12|0;j=j+-1|0;i=h;return j|0}return 0}function th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;f=(((c[j>>2]|0)-k|0)/12|0)+1|0;if(f>>>0>357913941)Mj(a);l=a+8|0;e=((c[l>>2]|0)-k|0)/12|0;if(e>>>0<178956970){e=e<<1;e=e>>>0<f>>>0?f:e;g=c[j>>2]|0;f=(g-k|0)/12|0;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=357913941;g=f;f=(f-k|0)/12|0;m=6}if((m|0)==6){i=e;h=gk(e*12|0)|0;e=g}m=h+(f*12|0)|0;g=c[b+4>>2]|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f*12|0)+4>>2]=g;c[h+(f*12|0)+8>>2]=d;b=e-k|0;d=m+(((b|0)/-12|0)*12|0)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+12;c[l>>2]=h+(i*12|0);if(!k)return;Qj(k);return}function uh(){vh(9484,5042);return}function vh(b,d){b=b|0;d=d|0;if((a[8208]|0)==0?Ha(8208)|0:0){c[2376]=0;c[2377]=0;c[2378]=0;c[2379]=9512;c[2381]=0;Oa(28,9488,n|0)|0;Sa(8208)}c[b>>2]=9488;c[2372]=10565;c[2373]=1220;c[2375]=d;if((a[8040]|0)==0?Ha(8040)|0:0){c[2195]=0;c[2196]=0;Sa(8040)}c[2374]=8780;c[2380]=7;d=c[b>>2]|0;if((a[8216]|0)==0?Ha(8216)|0:0){c[2383]=0;Oa(54,9532,n|0)|0;Sa(8216)}b=gk(8)|0;c[b+4>>2]=d;c[b>>2]=c[2383];c[2383]=b;return}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function xh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{d=b;b=c[b>>2]|0;Qj(d)}while((b|0)!=0);c[a>>2]=0;return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((a[8216]|0)==0?Ha(8216)|0:0){c[2383]=0;Oa(54,9532,n|0)|0;Sa(8216)}e=c[2383]|0;if(!e)return;else f=e;while(1){e=c[f+4>>2]|0;if(e|0?(sj(c[e+12>>2]|0,b)|0)==0:0)break;f=c[f>>2]|0;if(!f){g=13;break}}if((g|0)==13)return;e=e+36|0;f=c[e>>2]|0;if(f|0){b=c[f>>2]|0;if(b|0)nb(b|0);Qj(f)}g=gk(4)|0;d=c[d>>2]|0;c[g>>2]=d;Ea(d|0);c[e>>2]=g;return}function zh(){if(a[8216]|0)return 9532;if(!(Ha(8216)|0))return 9532;c[2383]=0;Oa(54,9532,n|0)|0;Sa(8216);return 9532}function Ah(){if(a[8224]|0)return 9536;if(!(Ha(8224)|0))return 9536;c[2384]=0;Oa(55,9536,n|0)|0;Sa(8224);return 9536}function Bh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{d=b;b=c[b>>2]|0;Qj(d)}while((b|0)!=0);c[a>>2]=0;return}function Ch(){var b=0;if(a[8232]|0){b=c[2385]|0;return b|0}if(!(Ha(8232)|0)){b=c[2385]|0;return b|0}if((a[8240]|0)==0?Ha(8240)|0:0){a[10566]=8;a[10567]=0;a[10568]=16;a[10569]=8;a[10570]=0;a[10571]=8;a[10572]=0;a[10573]=8;a[10574]=0;a[10575]=8;a[10576]=0;a[10577]=32;a[10578]=32;Sa(8240)}c[2385]=1228;Sa(8232);b=c[2385]|0;return b|0}function Dh(){return 1296}function Eh(b){b=b|0;var d=0;if((a[8216]|0)==0?Ha(8216)|0:0){c[2383]=0;Oa(54,9532,n|0)|0;Sa(8216)}d=gk(8)|0;c[d+4>>2]=b;c[d>>2]=c[2383];c[2383]=d;return}function Fh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((a[8224]|0)==0?Ha(8224)|0:0){c[2384]=0;Oa(55,9536,n|0)|0;Sa(8224)}h=gk(24)|0;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g;c[h>>2]=c[2384];c[2384]=h;return}function Gh(a,b,d){a=a|0;b=b|0;d=d|0;var 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;v=i;i=i+48|0;u=v+24|0;q=v+8|0;t=v+12|0;r=v+4|0;s=v;b=c[b>>2]|0;if(!b){i=v;return}k=u+4|0;l=u+8|0;m=u+8|0;n=t+4|0;o=t+8|0;p=t+8|0;do{h=b;j=c[h+16>>2]|0;if(j|0){f=c[j+12>>2]|0;c[u>>2]=0;c[k>>2]=0;c[l>>2]=0;e=(c[j+16>>2]|0)+1|0;if(e|0){g=gk(e<<2)|0;w=g;c[u>>2]=w;c[k>>2]=w;c[m>>2]=g+(e<<2);while(1){e=e+-1|0;Pi(q,c[f>>2]|0);g=c[k>>2]|0;if(g>>>0<(c[m>>2]|0)>>>0){c[g>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+4}else Hh(u,q);if(!e)break;else f=f+4|0}}e=c[j+8>>2]|0;c[t>>2]=0;c[n>>2]=0;c[o>>2]=0;a:do if(c[e>>2]|0){f=0;g=0;while(1){if((f|0)==(g|0))Ih(t,e);else{c[f>>2]=c[e>>2];c[n>>2]=(c[n>>2]|0)+4}e=e+4|0;if(!(c[e>>2]|0))break a;f=c[n>>2]|0;g=c[p>>2]|0}}while(0);c[r>>2]=c[h+4>>2];c[s>>2]=c[j>>2];Jh(d,a,r,s,u,t);e=c[t>>2]|0;f=e;if(e|0){g=c[n>>2]|0;if((g|0)!=(e|0))c[n>>2]=g+(~((g+-4-f|0)>>>2)<<2);Qj(e)}e=c[u>>2]|0;f=e;if(e|0){g=c[k>>2]|0;if((g|0)!=(e|0))c[k>>2]=g+(~((g+-4-f|0)>>>2)<<2);Qj(e)}}b=c[b>>2]|0}while((b|0)!=0);i=v;return}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;d=((c[i>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)Mj(a);k=a+8|0;e=(c[k>>2]|0)-j|0;if(e>>2>>>0<536870911){f=e>>1;d=f>>>0<d>>>0?d:f;f=c[i>>2]|0;e=f-j>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=c[i>>2]|0;d=1073741823;f=e;e=e-j>>2;l=6}if((l|0)==6){h=d;g=gk(d<<2)|0;d=f}l=g+(e<<2)|0;c[l>>2]=c[b>>2];f=d-j|0;b=l+(0-(f>>2)<<2)|0;qk(b|0,j|0,f|0)|0;c[a>>2]=b;c[i>>2]=l+4;c[k>>2]=g+(h<<2);if(!j)return;Qj(j);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;j=c[a>>2]|0;d=((c[i>>2]|0)-j>>2)+1|0;if(d>>>0>1073741823)Mj(a);k=a+8|0;e=(c[k>>2]|0)-j|0;if(e>>2>>>0<536870911){f=e>>1;d=f>>>0<d>>>0?d:f;f=c[i>>2]|0;e=f-j>>2;if(!d){h=0;g=0;d=f}else l=6}else{e=c[i>>2]|0;d=1073741823;f=e;e=e-j>>2;l=6}if((l|0)==6){h=d;g=gk(d<<2)|0;d=f}l=g+(e<<2)|0;c[l>>2]=c[b>>2];f=d-j|0;b=l+(0-(f>>2)<<2)|0;qk(b|0,j|0,f|0)|0;c[a>>2]=b;c[i>>2]=l+4;c[k>>2]=g+(h<<2);if(!j)return;Qj(j);return}function Jh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+40|0;r=s+32|0;n=s+24|0;q=s+12|0;o=s;Ti(r);l=c[a>>2]|0;c[n>>2]=c[b>>2];k=c[d>>2]|0;j=c[e>>2]|0;c[q>>2]=0;p=q+4|0;c[p>>2]=0;c[q+8>>2]=0;a=c[f+4>>2]|0;b=c[f>>2]|0;d=a-b|0;e=d>>2;if(e|0){f=a;if(e>>>0>1073741823)Mj(q);a=gk(d)|0;c[p>>2]=a;c[q>>2]=a;c[q+8>>2]=a+(e<<2);if((b|0)!=(f|0))do{c[a>>2]=c[b>>2];a=(c[p>>2]|0)+4|0;c[p>>2]=a;b=b+4|0}while((b|0)!=(f|0))}c[o>>2]=0;h=o+4|0;c[h>>2]=0;c[o+8>>2]=0;a=c[g+4>>2]|0;b=c[g>>2]|0;d=a-b|0;e=d>>2;if(e|0){f=a;if(e>>>0>1073741823)Mj(o);a=gk(d)|0;c[h>>2]=a;c[o>>2]=a;c[o+8>>2]=a+(e<<2);if((b|0)!=(f|0))do{c[a>>2]=c[b>>2];a=(c[h>>2]|0)+4|0;c[h>>2]=a;b=b+4|0}while((b|0)!=(f|0))};c[m>>2]=c[n>>2];Kh(l,m,k,j,q,o);a=c[o>>2]|0;b=a;if(a|0){d=c[h>>2]|0;if((d|0)!=(a|0))c[h>>2]=d+(~((d+-4-b|0)>>>2)<<2);Qj(a)}a=c[q>>2]|0;if(!a){Ui(r);i=s;return}b=c[p>>2]|0;if((b|0)!=(a|0))c[p>>2]=b+(~((b+-4-a|0)>>>2)<<2);Qj(a);Ui(r);i=s;return}function Kh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+16|0;j=p;if((a[8248]|0)==0?Ha(8248)|0:0){c[2386]=1348;c[2387]=5;c[2388]=kb(1348,6)|0;Sa(8248)}o=c[2388]|0;c[j>>2]=c[d>>2];m=Lh(j)|0;n=c[g>>2]|0;j=g+4|0;l=c[j>>2]|0;c[g+8>>2]=0;c[j>>2]=0;c[g>>2]=0;l=l-n|0;j=l>>2;l=xi(l+4|0)|0;c[l>>2]=j;if(j|0){d=n;g=0;do{c[l+4+(g<<2)>>2]=Lh(d+(g<<2)|0)|0;g=g+1|0}while((g|0)!=(j|0))}k=c[h>>2]|0;j=h+4|0;d=c[j>>2]|0;c[h+8>>2]=0;c[j>>2]=0;c[h>>2]=0;d=d-k|0;j=d>>2;d=xi(d+4|0)|0;c[d>>2]=j;if(j|0){g=k;h=0;do{c[d+4+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}Fa(0,o|0,b|0,m|0,e|0,f|0,l|0,d|0)|0;if(k|0)Qj(k);if(!n){i=p;return}Qj(n);i=p;return}function Lh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+12|0;d=g;if((a[8256]|0)==0?Ha(8256)|0:0){c[2393]=0;c[2394]=0;c[2395]=0;c[2396]=9580;c[2398]=0;Oa(28,9556,n|0)|0;Sa(8256)}e=c[2398]|0;if(!e){e=xi(8)|0;f=e;d=gk(4)|0;c[d>>2]=c[b>>2];h=f+4|0;c[h>>2]=d;b=gk(8)|0;h=c[h>>2]|0;c[b>>2]=h;d=gk(16)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d>>2]=1412;c[d+12>>2]=h;c[b+4>>2]=d;c[e>>2]=b;i=g;return f|0}else{c[f>>2]=e;h=f+4|0;c[h>>2]=f;c[f+8>>2]=0;c[d>>2]=e;c[d+4>>2]=f;c[d+8>>2]=0;Si(b,d);h=c[(c[h>>2]|0)+8>>2]|0;i=g;return h|0}return 0}function Mh(a){a=a|0;Hj(a);Qj(a);return}function Nh(a){a=a|0;a=c[a+12>>2]|0;if(!a)return;Qj(a);return}function Oh(a){a=a|0;Qj(a);return}function Ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var 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;u=i;i=i+48|0;q=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+12|0;p=u+8|0;t=u+16|0;r=u+4|0;s=u;j=Ch()|0;h=c[j>>2]|0;g=c[h>>2]|0;if(g|0){k=c[j+8>>2]|0;j=c[j+4>>2]|0;while(1){Pi(l,g);Qh(a,l,j,k);h=h+4|0;g=c[h>>2]|0;if(!g)break;else{k=k+1|0;j=j+1|0}}}h=Dh()|0;g=c[h>>2]|0;if(g|0)do{Pi(m,g);c[n>>2]=c[h+4>>2];Rh(b,m,n);h=h+8|0;g=c[h>>2]|0}while((g|0)!=0);g=c[(zh()|0)>>2]|0;if(g|0)do{b=c[g+4>>2]|0;Pi(q,c[b>>2]|0);c[o>>2]=c[b+12>>2];Sh(d,q,o);g=c[g>>2]|0}while((g|0)!=0);Pi(p,0);g=Ah()|0;c[q>>2]=c[p>>2];Gh(q,g,f);g=c[(zh()|0)>>2]|0;if(!g){i=u;return}m=q+4|0;n=q+8|0;b=q+8|0;do{a=c[g+4>>2]|0;Pi(t,c[a>>2]|0);j=c[a+16>>2]|0;if(!j){c[s>>2]=c[t>>2];c[q>>2]=c[s>>2];Gh(q,a+24|0,f)}else{h=gk(12)|0;o=j+4|0;p=c[o+4>>2]|0;d=h+4|0;c[d>>2]=c[o>>2];c[d+4>>2]=p;j=c[j>>2]|0;if(!j)j=h;else{l=h;k=j;while(1){j=gk(12)|0;o=k+4|0;p=c[o+4>>2]|0;d=j+4|0;c[d>>2]=c[o>>2];c[d+4>>2]=p;c[l>>2]=j;k=c[k>>2]|0;if(!k)break;else l=j}}c[j>>2]=0;c[q>>2]=0;c[m>>2]=0;c[n>>2]=0;k=h;do{Pi(r,c[c[k+4>>2]>>2]|0);j=c[m>>2]|0;if(j>>>0<(c[b>>2]|0)>>>0){c[j>>2]=c[r>>2];c[m>>2]=(c[m>>2]|0)+4}else Hh(q,r);k=c[k>>2]|0}while((k|0)!=0);Th(e,t,q);j=c[q>>2]|0;k=j;if(j|0){l=c[m>>2]|0;if((l|0)!=(j|0))c[m>>2]=l+(~((l+-4-k|0)>>>2)<<2);Qj(j)}c[s>>2]=c[t>>2];c[q>>2]=c[s>>2];Gh(q,a+24|0,f);do{d=h;h=c[h>>2]|0;Qj(d)}while((h|0)!=0)}g=c[g>>2]|0}while((g|0)!=0);i=u;return}function Qh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l;k=l+8|0;Ti(k);h=c[b>>2]|0;g=c[d>>2]|0;d=a[e>>0]|0;b=a[f>>0]|0;if((a[8264]|0)==0?Ha(8264)|0:0){c[2400]=1432;c[2401]=3;c[2402]=kb(1432,4)|0;Sa(8264)}f=c[2402]|0;c[j>>2]=g;lb(0,f|0,h|0,Lh(j)|0,d&255|0,b&255|0)|0;Ui(k);i=l;return}function Rh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;h=j+8|0;Ti(h);f=c[b>>2]|0;d=c[d>>2]|0;b=c[e>>2]|0;if((a[8272]|0)==0?Ha(8272)|0:0){c[2403]=1448;c[2404]=2;c[2405]=kb(1448,3)|0;Sa(8272)}e=c[2405]|0;c[g>>2]=d;Ba(0,e|0,f|0,Lh(g)|0,b|0)|0;Ui(h);i=j;return}function Sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;h=j+8|0;Ti(h);f=c[b>>2]|0;d=c[d>>2]|0;b=c[e>>2]|0;if((a[8272]|0)==0?Ha(8272)|0:0){c[2403]=1448;c[2404]=2;c[2405]=kb(1448,3)|0;Sa(8272)}e=c[2405]|0;c[g>>2]=d;Ba(0,e|0,f|0,Lh(g)|0,b|0)|0;Ui(h);i=j;return}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+24|0;m=n+16|0;j=n+12|0;k=n;Ti(m);g=c[a>>2]|0;c[j>>2]=c[b>>2];c[k>>2]=0;l=k+4|0;c[l>>2]=0;c[k+8>>2]=0;a=c[d+4>>2]|0;b=c[d>>2]|0;d=a-b|0;e=d>>2;if(e|0){f=a;if(e>>>0>1073741823)Mj(k);a=gk(d)|0;c[l>>2]=a;c[k>>2]=a;c[k+8>>2]=a+(e<<2);if((b|0)!=(f|0))do{c[a>>2]=c[b>>2];a=(c[l>>2]|0)+4|0;c[l>>2]=a;b=b+4|0}while((b|0)!=(f|0))};c[h>>2]=c[j>>2];Uh(g,h,k);a=c[k>>2]|0;if(!a){Ui(m);i=n;return}b=c[l>>2]|0;if((b|0)!=(a|0))c[l>>2]=b+(~((b+-4-a|0)>>>2)<<2);Qj(a);Ui(m);i=n;return}function Uh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;f=l;if((a[8280]|0)==0?Ha(8280)|0:0){c[2406]=1460;c[2407]=2;c[2408]=kb(1460,3)|0;Sa(8280)}k=c[2408]|0;c[f>>2]=c[d>>2];h=Lh(f)|0;j=c[e>>2]|0;f=e+4|0;d=c[f>>2]|0;c[e+8>>2]=0;c[f>>2]=0;c[e>>2]=0;d=d-j|0;f=d>>2;d=xi(d+4|0)|0;c[d>>2]=f;if(f|0){e=j;g=0;do{c[d+4+(g<<2)>>2]=Lh(e+(g<<2)|0)|0;g=g+1|0}while((g|0)!=(f|0))}Ba(0,k|0,b|0,h|0,d|0)|0;if(!j){i=l;return}Qj(j);i=l;return}function Vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;e=l+10|0;f=l+9|0;g=l+4|0;h=l+8|0;j=l;k=Ri(b)|0;switch(k<<24>>24){case 0:{a[e>>0]=0;d=Wh(d,e)|0;i=l;return d|0}case 8:{b=Qi(b)|0;a[f>>0]=8;Pi(g,c[b+4>>2]|0);d=Xh(d,f,g,b+8|0)|0;i=l;return d|0}default:{b=Qi(b)|0;a[h>>0]=k;Pi(j,c[b+4>>2]|0);d=Yh(d,h,j)|0;i=l;return d|0}}return 0}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;Ti(f);e=c[b>>2]|0;b=a[d>>0]|0;if((a[8288]|0)==0?Ha(8288)|0:0){c[2409]=1472;c[2410]=1;c[2411]=kb(1472,2)|0;Sa(8288)}d=ob(0,c[2411]|0,e|0,b&255|0)|0;Ui(f);i=g;return d|0}function Xh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l;k=l+8|0;Ti(k);h=c[b>>2]|0;g=a[d>>0]|0;d=c[e>>2]|0;b=c[f>>2]|0;if((a[8296]|0)==0?Ha(8296)|0:0){c[2412]=1480;c[2413]=3;c[2414]=kb(1480,4)|0;Sa(8296)}f=c[2414]|0;c[j>>2]=d;j=lb(0,f|0,h|0,g&255|0,Lh(j)|0,b|0)|0;Ui(k);i=l;return j|0}function Yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;h=j+8|0;Ti(h);f=c[b>>2]|0;d=a[d>>0]|0;b=c[e>>2]|0;if((a[8304]|0)==0?Ha(8304)|0:0){c[2415]=1496;c[2416]=2;c[2417]=kb(1496,3)|0;Sa(8304)}e=c[2417]|0;c[g>>2]=b;g=Ba(0,e|0,f|0,d&255|0,Lh(g)|0)|0;Ui(h);i=j;return g|0}function Zh(){c[2419]=ik(65536)|0;_h(9684);Ji(9948);return}function _h(b){b=b|0;var d=0,e=0,f=0;$h(b,5112);d=c[b>>2]|0;if((a[8320]|0)==0?Ha(8320)|0:0){c[2433]=4;c[2434]=5;c[2435]=8444;c[2436]=1544;c[2437]=0;c[2439]=0;c[2440]=0;c[2441]=0;c[2438]=56;Oa(57,9732,n|0)|0;Sa(8320)}d=d+28|0;f=c[d>>2]|0;e=gk(24)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=9732;c[e+20>>2]=0;c[e>>2]=c[f>>2];c[f>>2]=e;c[d>>2]=e;hi(b,5118,16,0);mi(b,5129,3,0);si(b,5137,10,0);yi(b,5147,17,0);Ei(b,5154,17,0);return}function $h(b,d){b=b|0;d=d|0;if((a[8312]|0)==0?Ha(8312)|0:0){c[2426]=0;c[2427]=0;c[2428]=0;c[2429]=9712;c[2431]=0;Oa(28,9688,n|0)|0;Sa(8312)}c[b>>2]=9688;c[2422]=10593;c[2423]=1508;c[2425]=d;if((a[8040]|0)==0?Ha(8040)|0:0){c[2195]=0;c[2196]=0;Sa(8040)}c[2424]=8780;c[2430]=8;Eh(c[b>>2]|0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function bi(){var a=0,b=0,d=0,e=0,f=0;a=c[2418]|0;if((65536-a|0)>>>0<8){a=ik(16)|0;c[a>>2]=c[2420];c[2420]=a;a=a+8|0}else{b=(c[2419]|0)+a|0;c[2418]=a+8;a=b}b=a;f=b+4|0;c[f>>2]=gk(1)|0;d=gk(8)|0;f=c[f>>2]|0;c[d>>2]=f;e=gk(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=1524;c[e+12>>2]=f;c[d+4>>2]=e;c[a>>2]=d;return b|0}function ci(a){a=a|0;Hj(a);Qj(a);return}function di(a){a=a|0;a=c[a+12>>2]|0;if(!a)return;Qj(a);return}function ei(a){a=a|0;Qj(a);return}function fi(b){b=b|0;a[b+8>>0]=1;return}function gi(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function hi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8328]|0)==0?Ha(8328)|0:0){c[2442]=0;c[2443]=7;c[2444]=8444;c[2445]=1548;c[2446]=2;c[2448]=0;c[2449]=0;c[2450]=0;Oa(58,9768,n|0)|0;Sa(8328)}i=ki(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=9768;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function ii(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g;if((a[8328]|0)==0?Ha(8328)|0:0){c[2442]=0;c[2443]=7;c[2444]=8444;c[2445]=1548;c[2446]=2;c[2448]=0;c[2449]=0;c[2450]=0;Oa(58,9768,n|0)|0;Sa(8328)}b=c[(c[2448]|0)+(b<<3)>>2]|0;c[f>>2]=e;Bb[b&31](d,f);f=c[f>>2]|0;if(!f){i=g;return}nb(f|0);i=g;return}function ji(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function ki(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8328]|0)==0?Ha(8328)|0:0){c[2442]=0;c[2443]=7;c[2444]=8444;c[2445]=1548;c[2446]=2;c[2448]=0;c[2449]=0;c[2450]=0;Oa(58,9768,n|0)|0;Sa(8328)}d=d|4;c[f>>2]=d;b=c[2449]|0;if(b>>>0<(c[2450]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2449]=e;f=c[2448]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{li(9792,e,f);e=c[2449]|0;f=c[2448]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8336]|0)==0?Ha(8336)|0:0){c[2451]=0;c[2452]=3;c[2453]=8444;c[2454]=1560;c[2455]=5;c[2457]=0;c[2458]=0;c[2459]=0;Oa(59,9804,n|0)|0;Sa(8336)}i=qi(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=9804;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function ni(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;if((a[8336]|0)==0?Ha(8336)|0:0){c[2451]=0;c[2452]=3;c[2453]=8444;c[2454]=1560;c[2455]=5;c[2457]=0;c[2458]=0;c[2459]=0;Oa(59,9804,n|0)|0;Sa(8336)}pi(c[(c[2457]|0)+(b<<3)>>2]|0,d,e,f,g,h);return}function oi(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function pi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+16|0;k=m+12|0;j=m+8|0;h=m+4|0;n=m;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;c[n>>2]=g;yb[a&3](l,k,j,h,n);b=c[n>>2]|0;if(b|0)nb(b|0);b=c[h>>2]|0;if(b|0)nb(b|0);b=c[j>>2]|0;if(b|0)nb(b|0);b=c[k>>2]|0;if(b|0)nb(b|0);b=c[l>>2]|0;if(!b){i=m;return}nb(b|0);i=m;return}function qi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8336]|0)==0?Ha(8336)|0:0){c[2451]=0;c[2452]=3;c[2453]=8444;c[2454]=1560;c[2455]=5;c[2457]=0;c[2458]=0;c[2459]=0;Oa(59,9804,n|0)|0;Sa(8336)}d=d|4;c[f>>2]=d;b=c[2458]|0;if(b>>>0<(c[2459]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2458]=e;f=c[2457]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{ri(9828,e,f);e=c[2458]|0;f=c[2457]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function si(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8344]|0)==0?Ha(8344)|0:0){c[2460]=0;c[2461]=7;c[2462]=8444;c[2463]=1584;c[2464]=2;c[2466]=0;c[2467]=0;c[2468]=0;Oa(60,9840,n|0)|0;Sa(8344)}i=vi(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=9840;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function ti(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+8|0;h=k+4|0;j=k;if((a[8344]|0)==0?Ha(8344)|0:0){c[2460]=0;c[2461]=7;c[2462]=8444;c[2463]=1584;c[2464]=2;c[2466]=0;c[2467]=0;c[2468]=0;Oa(60,9840,n|0)|0;Sa(8344)}b=c[(c[2466]|0)+(b<<3)>>2]|0;f=d;if(!(f&1))c[h>>2]=c[d>>2];else{c[g>>2]=0;d=g+4|0;c[d>>2]=0;a[g+8>>0]=0;Ta(f|0,g|0)|0;c[h>>2]=c[d>>2]}c[j>>2]=e;c[g>>2]=c[h>>2];f=Kb[b&15](g,j)|0;if(f|0)nb(f|0);b=c[j>>2]|0;if(!b){i=k;return f|0}nb(b|0);i=k;return f|0}function ui(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function vi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8344]|0)==0?Ha(8344)|0:0){c[2460]=0;c[2461]=7;c[2462]=8444;c[2463]=1584;c[2464]=2;c[2466]=0;c[2467]=0;c[2468]=0;Oa(60,9840,n|0)|0;Sa(8344)}d=d|4;c[f>>2]=d;b=c[2467]|0;if(b>>>0<(c[2468]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2467]=e;f=c[2466]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{wi(9864,e,f);e=c[2467]|0;f=c[2466]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function xi(a){a=a|0;var b=0,d=0;a=a+7&-8;if(a>>>0<=32768?(b=c[2418]|0,a>>>0<=(65536-b|0)>>>0):0){d=(c[2419]|0)+b|0;c[2418]=b+a;b=d;return b|0}d=ik(a+8|0)|0;c[d>>2]=c[2420];c[2420]=d;d=d+8|0;return d|0}function yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8352]|0)==0?Ha(8352)|0:0){c[2469]=0;c[2470]=11;c[2471]=8444;c[2472]=1596;c[2473]=1;c[2475]=0;c[2476]=0;c[2477]=0;Oa(61,9876,n|0)|0;Sa(8352)}i=Bi(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=9876;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function zi(b,d){b=b|0;d=d|0;if((a[8352]|0)==0?Ha(8352)|0:0){c[2469]=0;c[2470]=11;c[2471]=8444;c[2472]=1596;c[2473]=1;c[2475]=0;c[2476]=0;c[2477]=0;Oa(61,9876,n|0)|0;Sa(8352)}return Cb[c[(c[9900>>2]|0)+(b<<3)>>2]&31](d)|0}function Ai(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Bi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8352]|0)==0?Ha(8352)|0:0){c[2469]=0;c[2470]=11;c[2471]=8444;c[2472]=1596;c[2473]=1;c[2475]=0;c[2476]=0;c[2477]=0;Oa(61,9876,n|0)|0;Sa(8352)}d=d|4;c[f>>2]=d;b=c[2476]|0;if(b>>>0<(c[2477]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2476]=e;f=c[2475]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{Ci(9900,e,f);e=c[2476]|0;f=c[2475]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function Ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function Di(a,b){a=a|0;b=b|0;var d=0,e=0;a:while(1){d=c[2420]|0;while(1){if((d|0)==(b|0))break a;e=c[d>>2]|0;c[2420]=e;if(!d)d=e;else break}Qj(d)}c[2418]=a;return}function Ei(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;b=c[b>>2]|0;if((a[8360]|0)==0?Ha(8360)|0:0){c[2478]=0;c[2479]=8;c[2480]=8444;c[2481]=1604;c[2482]=2;c[2484]=0;c[2485]=0;c[2486]=0;Oa(62,9912,n|0)|0;Sa(8360)}i=Hi(e,f)|0;b=b+28|0;h=c[b>>2]|0;g=gk(24)|0;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=i;c[g+16>>2]=9912;c[g+20>>2]=f;c[g>>2]=c[h>>2];c[h>>2]=g;c[b>>2]=g;return}function Fi(b,d,e){b=b|0;d=d|0;e=e|0;if((a[8360]|0)==0?Ha(8360)|0:0){c[2478]=0;c[2479]=8;c[2480]=8444;c[2481]=1604;c[2482]=2;c[2484]=0;c[2485]=0;c[2486]=0;Oa(62,9912,n|0)|0;Sa(8360)}Bb[c[(c[9936>>2]|0)+(b<<3)>>2]&31](d,e);return}function Gi(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Hi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if((a[8360]|0)==0?Ha(8360)|0:0){c[2478]=0;c[2479]=8;c[2480]=8444;c[2481]=1604;c[2482]=2;c[2484]=0;c[2485]=0;c[2486]=0;Oa(62,9912,n|0)|0;Sa(8360)}d=d|4;c[f>>2]=d;b=c[2485]|0;if(b>>>0<(c[2486]|0)>>>0){c[b>>2]=c[e>>2];c[b+4>>2]=d;e=b+8|0;c[2485]=e;f=c[2484]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}else{Ii(9936,e,f);e=c[2485]|0;f=c[2484]|0;f=e-f|0;f=f>>3;f=f+-1|0;i=g;return f|0}return 0}function Ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=a+4|0;k=c[a>>2]|0;e=((c[j>>2]|0)-k>>3)+1|0;if(e>>>0>536870911)Mj(a);l=a+8|0;f=(c[l>>2]|0)-k|0;if(f>>3>>>0<268435455){g=f>>2;e=g>>>0<e>>>0?e:g;g=c[j>>2]|0;f=g-k>>3;if(!e){i=0;h=0;e=g}else m=6}else{f=c[j>>2]|0;e=536870911;g=f;f=f-k>>3;m=6}if((m|0)==6){i=e;h=gk(e<<3)|0;e=g}m=h+(f<<3)|0;d=c[d>>2]|0;c[m>>2]=c[b>>2];c[h+(f<<3)+4>>2]=d;b=e-k|0;d=m+(0-(b>>3)<<3)|0;qk(d|0,k|0,b|0)|0;c[a>>2]=d;c[j>>2]=m+8;c[l>>2]=h+(i<<3);if(!k)return;Qj(k);return}function Ji(b){b=b|0;var d=0,e=0;Ki(b,5161);b=c[b>>2]|0;if((a[8368]|0)==0?Ha(8368)|0:0){c[2488]=4;c[2489]=18;c[2490]=8444;c[2491]=1624;c[2492]=1;c[2494]=0;c[2495]=0;c[2496]=0;c[2493]=18;Oa(63,9952,n|0)|0;Sa(8368)}b=b+28|0;e=c[b>>2]|0;d=gk(24)|0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=9952;c[d+20>>2]=0;c[d>>2]=c[e>>2];c[e>>2]=d;c[b>>2]=d;return}function Ki(b,d){b=b|0;d=d|0;if((a[8256]|0)==0?Ha(8256)|0:0){c[2393]=0;c[2394]=0;c[2395]=0;c[2396]=9580;c[2398]=0;Oa(28,9556,n|0)|0;Sa(8256)}c[b>>2]=9556;c[2389]=10592;c[2390]=1616;c[2392]=d;if((a[7992]|0)==0?Ha(7992)|0:0){c[2142]=c[238];c[2143]=0;Sa(7992)}c[2391]=8568;c[2397]=9;Eh(c[b>>2]|0);return}function Li(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e&896|0)!=512){if(!b)return;Qj(b);return}if(!d)return;a=c[d+4>>2]|0;if(a|0)Kj(a);Qj(d);return}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[2418]|0;if((65536-b|0)>>>0<8){b=ik(16)|0;c[b>>2]=c[2420];c[2420]=b;b=b+8|0}else{d=(c[2419]|0)+b|0;c[2418]=b+8;b=d}d=b;e=gk(4)|0;c[e>>2]=a;f=d+4|0;c[f>>2]=e;a=gk(8)|0;f=c[f>>2]|0;c[a>>2]=f;e=gk(16)|0;c[e+4>>2]=0;c[e+8>>2]=0;c[e>>2]=1412;c[e+12>>2]=f;c[a+4>>2]=e;c[b>>2]=a;return d|0}function Ni(b,d){b=b|0;d=d|0;c[b+4>>2]=d;a[b+8>>0]=1;return}function Oi(a){a=a|0;var b=0,d=0;d=c[a+24>>2]|0;if(!d)return;a=a+28|0;b=c[a>>2]|0;if((b|0)!=(d|0))c[a>>2]=b+(~((b+-8-d|0)>>>3)<<3);Qj(d);return}function Pi(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Qi(a){a=a|0;return c[a>>2]|0}function Ri(b){b=b|0;return a[c[b>>2]>>0]|0}function Si(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=c[b>>2]|0;g=c[2418]|0;h=c[2420]|0;e=c[c[d>>2]>>2]|0;if((a[8376]|0)==0?Ha(8376)|0:0){c[2497]=1632;c[2498]=1;c[2499]=kb(1632,2)|0;Sa(8376)}f=ob(0,c[2499]|0,e|0,b|0)|0;a:while(1){b=c[2420]|0;while(1){if((b|0)==(h|0))break a;e=c[b>>2]|0;c[2420]=e;if(!b)b=e;else break}Qj(b)}c[2418]=g;c[(c[d+4>>2]|0)+8>>2]=f;return}function Ti(a){a=a|0;c[a>>2]=c[2418];c[a+4>>2]=c[2420];return}function Ui(a){a=a|0;var b=0,d=0,e=0;e=c[a>>2]|0;d=c[a+4>>2]|0;a:while(1){a=c[2420]|0;while(1){if((a|0)==(d|0))break a;b=c[a>>2]|0;c[2420]=b;if(!a)a=b;else break}Qj(a)}c[2418]=e;return}function Vi(){Wi();return}function Wi(){var b=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;q=i;Ja(65536,9672,c[2419]|0,9680);f=Ch()|0;e=c[f>>2]|0;b=c[e>>2]|0;if(b|0){g=c[f+8>>2]|0;f=c[f+4>>2]|0;while(1){Va(b|0,d[f>>0]|0,a[g>>0]|0);e=e+4|0;b=c[e>>2]|0;if(!b)break;else{g=g+1|0;f=f+1|0}}}e=Dh()|0;b=c[e>>2]|0;if(b|0)do{Xa(b|0,c[e+4>>2]|0);e=e+8|0;b=c[e>>2]|0}while((b|0)!=0);Xa(10564,5235);b=zh()|0;f=c[b>>2]|0;e=(f|0)==0;a:do if(!e){g=f;do{a[(c[g+4>>2]|0)+40>>0]=0;g=c[g>>2]|0}while((g|0)!=0);if(!e)do{g=b;h=b;while(1){e=f;f=c[f>>2]|0;e=c[e+4>>2]|0;b=e+40|0;if(!(a[b>>0]|0))break;n=c[g>>2]|0;c[h>>2]=c[n>>2];Qj(n);if(!f)break a}a[b>>0]=1;b=c[h>>2]|0;k=e+20|0;g=c[k>>2]|0;l=fb()|0;m=i;i=i+((1*(g<<2)|0)+15&-16)|0;n=i;i=i+((1*(g<<2)|0)+15&-16)|0;g=c[e+16>>2]|0;if(g|0){h=m;j=n;while(1){r=g;c[h>>2]=c[c[r+4>>2]>>2];c[j>>2]=c[r+8>>2];g=c[g>>2]|0;if(!g)break;else{h=h+4|0;j=j+4|0}}}ab(e|0,c[e+8>>2]|0,m|0,n|0,c[k>>2]|0,c[e+32>>2]|0,c[e+12>>2]|0);Ma(l|0)}while((f|0)!=0)}while(0);b=c[(Ah()|0)>>2]|0;if(b|0)do{r=b;n=c[r+16>>2]|0;mb(0,c[n+8>>2]|0,c[n+12>>2]|0,(c[n+16>>2]|0)+1|0,c[n+4>>2]|0,c[r+8>>2]|0,c[n>>2]|0,c[r+4>>2]|0,c[r+12>>2]|0,c[r+20>>2]|0);b=c[b>>2]|0}while((b|0)!=0);b=c[(zh()|0)>>2]|0;if(!b){Da();i=q;return}do{e=c[b+4>>2]|0;if(e|0?(o=c[e>>2]|0,p=c[e+24>>2]|0,p|0):0){j=p;do{e=j;f=e+4|0;g=c[e+16>>2]|0;b:do if(g|0){h=c[g>>2]|0;switch(h|0){case 3:case 2:case 1:{mb(o|0,c[g+8>>2]|0,c[g+12>>2]|0,(c[g+16>>2]|0)+1|0,c[g+4>>2]|0,0,h|0,c[f>>2]|0,c[e+12>>2]|0,c[e+20>>2]|0);break b}case 0:{mb(o|0,c[g+8>>2]|0,c[g+12>>2]|0,(c[g+16>>2]|0)+1|0,c[g+4>>2]|0,c[e+8>>2]|0,0,c[f>>2]|0,c[e+12>>2]|0,c[e+20>>2]|0);break b}case 4:{mb(o|0,c[g+8>>2]|0,c[g+12>>2]|0,(c[g+16>>2]|0)+1|0,c[g+4>>2]|0,c[g+20>>2]|0,4,0,0,0);break b}default:break b}}while(0);j=c[j>>2]|0}while((j|0)!=0)}b=c[b>>2]|0}while((b|0)!=0);Da();i=q;return}function Xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Yi(rb(6,d|0)|0)|0;i=b;return a|0}function Yi(a){a=a|0;if(a>>>0>4294963200){c[(Zi()|0)>>2]=0-a;a=-1}return a|0}function Zi(){var a=0;if(!(c[2500]|0))a=10044;else a=c[(eb()|0)+64>>2]|0;return a|0}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2500]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Yi(wb(146,n|0)|0)|0}else{sb(64,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Yi(wb(146,m|0)|0)|0;Aa(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function $i(a){a=a|0;if(!(c[a+68>>2]|0))aj(a);return}function aj(a){a=a|0;return}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Yi(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function cj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=2;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,hb(54,f|0)|0):0)a[b+75>>0]=-1;f=_i(b,d,e)|0;i=g;return f|0}function dj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function ej(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function fj(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+224|0;o=s+120|0;r=s+80|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((gj(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=rj(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=gj(b,d,o,q,r)|0;if(h){Gb[c[b+36>>2]&7](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=gj(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m|0)aj(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function gj(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=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,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+624|0;da=ia+24|0;fa=ia+16|0;ea=ia+588|0;aa=ia+576|0;ca=ia;W=ia+536|0;ha=ia+8|0;ga=ia+528|0;M=(e|0)!=0;N=W+40|0;V=N;W=W+39|0;X=ha+4|0;Y=ea;Z=0-Y|0;_=aa+12|0;aa=aa+11|0;ba=_;O=ba-Y|0;P=-2-Y|0;Q=ba+2|0;R=da+288|0;S=ea+9|0;T=S;U=ea+8|0;m=0;o=0;n=0;y=f;a:while(1){do if((m|0)>-1)if((o|0)>(2147483647-m|0)){c[(Zi()|0)>>2]=75;m=-1;break}else{m=o+m|0;break}while(0);f=a[y>>0]|0;if(!(f<<24>>24)){L=244;break}else o=y;b:while(1){switch(f<<24>>24){case 37:{f=o;L=9;break b}case 0:{f=o;break b}default:{}}K=o+1|0;f=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[f+1>>0]|0)!=37)break c;o=o+1|0;f=f+2|0;if((a[f>>0]|0)==37)L=9;else break}while(0);w=o-y|0;if(M?(c[e>>2]&32|0)==0:0)hj(y,w,e)|0;if((o|0)!=(y|0)){o=w;y=f;continue}r=f+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[f+2>>0]|0)==36;r=K?f+3|0:r;o=a[r>>0]|0;u=K?p:-1;n=K?1:n}else u=-1;f=o<<24>>24;d:do if((f&-32|0)==32){p=0;while(1){if(!(1<<f+-32&75913)){s=p;break d}p=1<<(o<<24>>24)+-32|p;r=r+1|0;o=a[r>>0]|0;f=o<<24>>24;if((f&-32|0)!=32){s=p;break}}}else s=0;while(0);do if(o<<24>>24==42){o=r+1|0;f=(a[o>>0]|0)+-48|0;if(f>>>0<10?(a[r+2>>0]|0)==36:0){c[l+(f<<2)>>2]=10;n=1;r=r+3|0;f=c[j+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(n|0){m=-1;break a}if(!M){v=s;n=0;r=o;K=0;break}n=(c[g>>2]|0)+(4-1)&~(4-1);f=c[n>>2]|0;c[g>>2]=n+4;n=0;r=o}if((f|0)<0){v=s|8192;K=0-f|0}else{v=s;K=f}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){f=r;o=0;do{o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{v=s;r=f;K=o}}else{v=s;K=0}}while(0);e:do if((a[r>>0]|0)==46){f=r+1|0;o=a[f>>0]|0;if(o<<24>>24!=42){p=(o<<24>>24)+-48|0;if(p>>>0<10)o=0;else{s=0;break}while(1){o=(o*10|0)+p|0;f=f+1|0;p=(a[f>>0]|0)+-48|0;if(p>>>0>=10){s=o;break e}}}f=r+2|0;o=(a[f>>0]|0)+-48|0;if(o>>>0<10?(a[r+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;s=c[j+((a[f>>0]|0)+-48<<3)>>2]|0;f=r+4|0;break}if(n|0){m=-1;break a}if(M){J=(c[g>>2]|0)+(4-1)&~(4-1);s=c[J>>2]|0;c[g>>2]=J+4}else s=0}else{s=-1;f=r}while(0);t=0;while(1){o=(a[f>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=f+1|0;o=a[5246+(t*58|0)+o>>0]|0;r=o&255;if((r+-1|0)>>>0<8){f=p;t=r}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=r;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ca;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}jj(ca,r,g)}while(0);if((L|0)==52?(L=0,!M):0){o=w;y=J;continue}u=a[f>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=v&-65537;I=(v&8192|0)==0?v:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 1:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 2:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}case 3:{b[c[ca>>2]>>1]=m;o=w;y=J;continue a}case 4:{a[c[ca>>2]>>0]=m;o=w;y=J;continue a}case 6:{c[c[ca>>2]>>2]=m;o=w;y=J;continue a}case 7:{o=c[ca>>2]|0;c[o>>2]=m;c[o+4>>2]=((m|0)<0)<<31>>31;o=w;y=J;continue a}default:{o=w;y=J;continue a}}case 112:{t=I|8;s=s>>>0>8?s:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)f=N;else{f=N;do{f=f+-1|0;a[f>>0]=o&7|48;o=pk(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;r=5726;L=77}else{t=V-f|0;o=I;s=(s|0)>(t|0)?s:t+1|0;t=0;r=5726;L=77}break}case 105:case 100:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){f=kk(0,0,f|0,o|0)|0;o=D;p=ca;c[p>>2]=f;c[p+4>>2]=o;p=1;r=5726;L=76;break f}if(!(I&2048)){r=I&1;p=r;r=(r|0)==0?5726:5728;L=76}else{p=1;r=5727;L=76}break}case 117:{o=ca;f=c[o>>2]|0;o=c[o+4>>2]|0;p=0;r=5726;L=76;break}case 99:{a[W>>0]=c[ca>>2];f=W;u=1;w=0;v=5726;o=N;break}case 109:{o=lj(c[(Zi()|0)>>2]|0)|0;L=82;break}case 115:{o=c[ca>>2]|0;o=o|0?o:7628;L=82;break}case 67:{c[ha>>2]=c[ca>>2];c[X>>2]=0;c[ca>>2]=ha;f=ha;s=-1;L=86;break}case 83:{f=c[ca>>2]|0;if(!s){mj(e,32,K,0,I);f=0;L=97}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ca>>3];c[fa>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?7636:7641}else{G=1;H=7638}else{q=-q;G=1;H=7635}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){x=+pj(q,fa)*2.0;o=x!=0.0;if(o)c[fa>>2]=(c[fa>>2]|0)+-1;C=u|32;if((C|0)==97){v=u&32;y=(v|0)==0?H:H+9|0;w=G|2;f=12-s|0;do if(!(s>>>0>11|(f|0)==0)){q=8.0;do{f=f+-1|0;q=q*16.0}while((f|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-x-q));break}else{q=x+q-q;break}}else q=x;while(0);o=c[fa>>2]|0;f=(o|0)<0?0-o|0:o;f=kj(f,((f|0)<0)<<31>>31,_)|0;if((f|0)==(_|0)){a[aa>>0]=48;f=aa}a[f+-1>>0]=(o>>31&2)+43;t=f+-2|0;a[t>>0]=u+15;r=(s|0)<1;p=(I&8|0)==0;o=ea;while(1){H=~~q;f=o+1|0;a[o>>0]=d[5710+H>>0]|v;q=(q-+(H|0))*16.0;do if((f-Y|0)==1){if(p&(r&q==0.0))break;a[f>>0]=46;f=o+2|0}while(0);if(!(q!=0.0))break;else o=f}p=t;s=(s|0)!=0&(P+f|0)<(s|0)?Q+s-p|0:O-p+f|0;r=s+w|0;mj(e,32,K,r,I);if(!(c[e>>2]&32))hj(y,w,e)|0;mj(e,48,K,r,I^65536);o=f-Y|0;if(!(c[e>>2]&32))hj(ea,o,e)|0;f=ba-p|0;mj(e,48,s-(o+f)|0,0,0);if(!(c[e>>2]&32))hj(t,f,e)|0;mj(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r;break}f=(s|0)<0?6:s;if(o){o=(c[fa>>2]|0)+-28|0;c[fa>>2]=o;q=x*268435456.0}else{q=x;o=c[fa>>2]|0}F=(o|0)<0?da:R;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[fa>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0<s>>>0)r=s;else{o=0;do{B=nk(c[r>>2]|0,0,t|0)|0;B=ok(B|0,D|0,o|0,0)|0;o=D;A=yk(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=xk(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[fa>>2]|0)-t|0;c[fa>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((f+25|0)/9|0)+1|0;z=(C|0)==102;v=r;while(1){w=0-o|0;w=(w|0)>9?9:w;do if(v>>>0<p>>>0){o=(1<<w)+-1|0;s=1e9>>>w;r=0;t=v;do{B=c[t>>2]|0;c[t>>2]=(B>>>w)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0<p>>>0);o=(c[v>>2]|0)==0?v+4|0:v;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[v>>2]|0)==0?v+4|0:v;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[fa>>2]|0)+w|0;c[fa>>2]=o;if((o|0)>=0){z=r;break}else v=r}}else z=r;do if(z>>>0<p>>>0){o=(E-z>>2)*9|0;s=c[z>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(f|0)!=0;r=f-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;r=F+4+(((t|0)/9|0)+-1024<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;w=c[r>>2]|0;y=(w>>>0)%(s>>>0)|0;t=(r+4|0)==(p|0);do if(t&(y|0)==0)s=z;else{x=(((w>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;v=(s|0)/2|0;if(y>>>0<v>>>0)q=.5;else q=t&(y|0)==(v|0)?1.0:1.5;do if(G){if((a[H>>0]|0)!=45)break;x=-x;q=-q}while(0);t=w-y|0;c[r>>2]=t;if(!(x+q!=x)){s=z;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=z;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0<o>>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{v=o;r=s;break}}}else v=z;o=(E-v>>2)*9|0;t=c[v>>2]|0;if(t>>>0<10){s=v;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=v}while(0);C=r+4|0;z=s;p=p>>>0>C>>>0?C:p}w=0-o|0;while(1){if(p>>>0<=z>>>0){y=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{y=1;C=p;break}}do if(A){f=(B&1^1)+f|0;if((f|0)>(o|0)&(o|0)>-5){u=u+-1|0;f=f+-1-o|0}else{u=u+-2|0;f=f+-1|0}p=I&8;if(p|0)break;do if(y){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(!((p>>>0)%(s>>>0)|0|0))}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;f=(f|0)<(p|0)?f:p;p=0;break}}else p=I&8;while(0);v=f|p;s=(v|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?w:o;r=kj(r,((r|0)<0)<<31>>31,_)|0;if((ba-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((ba-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=ba-E|0;u=E}w=G+1+f+s+o|0;mj(e,32,K,w,I);if(!(c[e>>2]&32))hj(H,G,e)|0;mj(e,48,K,w,I^65536);do if(t){r=z>>>0>F>>>0?F:z;o=r;do{p=kj(c[o>>2]|0,0,S)|0;do if((o|0)==(r|0)){if((p|0)!=(S|0))break;a[U>>0]=48;p=U}else{if(p>>>0<=ea>>>0)break;mk(ea|0,48,p-Y|0)|0;do p=p+-1|0;while(p>>>0>ea>>>0)}while(0);if(!(c[e>>2]&32))hj(p,T-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(v|0){if(c[e>>2]&32|0)break;hj(7670,1,e)|0}while(0);if((f|0)>0&o>>>0<C>>>0){p=o;while(1){o=kj(c[p>>2]|0,0,S)|0;if(o>>>0>ea>>>0){mk(ea|0,48,o-Y|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}if(!(c[e>>2]&32))hj(o,(f|0)>9?9:f,e)|0;p=p+4|0;o=f+-9|0;if(!((f|0)>9&p>>>0<C>>>0)){f=o;break}else f=o}}mj(e,48,f+9|0,9,0)}else{t=y?C:z+4|0;if((f|0)>-1){s=(p|0)==0;r=z;do{o=kj(c[r>>2]|0,0,S)|0;if((o|0)==(S|0)){a[U>>0]=48;o=U}do if((r|0)==(z|0)){p=o+1|0;if(!(c[e>>2]&32))hj(o,1,e)|0;if(s&(f|0)<1){o=p;break}if(c[e>>2]&32|0){o=p;break}hj(7670,1,e)|0;o=p}else{if(o>>>0<=ea>>>0)break;mk(ea|0,48,o+Z|0)|0;do o=o+-1|0;while(o>>>0>ea>>>0)}while(0);p=T-o|0;if(!(c[e>>2]&32))hj(o,(f|0)>(p|0)?p:f,e)|0;f=f-p|0;r=r+4|0}while(r>>>0<t>>>0&(f|0)>-1)}mj(e,48,f+18|0,18,0);if(c[e>>2]&32|0)break;hj(u,ba-u|0,e)|0}while(0);mj(e,32,K,w,I^8192);f=(w|0)<(K|0)?K:w}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;mj(e,32,K,r,p);f=c[e>>2]|0;if(!(f&32)){hj(H,o,e)|0;f=c[e>>2]|0}if(!(f&32))hj(s?(t?7662:7666):t?7654:7658,3,e)|0;mj(e,32,K,r,I^8192);f=(r|0)<(K|0)?K:r}while(0);o=f;y=J;continue a}default:{f=y;p=I;u=s;w=0;v=5726;o=N}}while(0);g:do if((L|0)==64){p=ca;o=c[p>>2]|0;p=c[p+4>>2]|0;r=u&32;if(!((o|0)==0&(p|0)==0)){f=N;do{f=f+-1|0;a[f>>0]=d[5710+(o&15)>>0]|r;o=pk(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ca;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;r=5726;L=77}else{o=t;t=2;r=5726+(u>>4)|0;L=77}}else{f=N;o=t;t=0;r=5726;L=77}}else if((L|0)==76){f=kj(f,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=dj(o,0,s)|0;H=(I|0)==0;f=o;u=H?s:I-o|0;w=0;v=5726;o=H?o+s|0:I}else if((L|0)==86){L=0;p=0;o=0;t=f;while(1){r=c[t>>2]|0;if(!r)break;o=nj(ga,r)|0;if((o|0)<0|o>>>0>(s-p|0)>>>0)break;p=o+p|0;if(s>>>0>p>>>0)t=t+4|0;else break}if((o|0)<0){m=-1;break a}mj(e,32,K,p,I);if(!p){f=0;L=97}else{r=0;while(1){o=c[f>>2]|0;if(!o){f=p;L=97;break g}o=nj(ga,o)|0;r=o+r|0;if((r|0)>(p|0)){f=p;L=97;break g}if(!(c[e>>2]&32))hj(ga,o,e)|0;if(r>>>0>=p>>>0){f=p;L=97;break}else f=f+4|0}}}while(0);if((L|0)==97){L=0;mj(e,32,K,f,I^8192);o=(K|0)>(f|0)?K:f;y=J;continue}if((L|0)==77){L=0;p=(s|0)>-1?o&-65537:o;o=ca;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((s|0)!=0|o){u=(o&1^1)+(V-f)|0;u=(s|0)>(u|0)?s:u;w=t;v=r;o=N}else{f=N;u=0;w=t;v=r;o=N}}t=o-f|0;r=(u|0)<(t|0)?t:u;s=w+r|0;o=(K|0)<(s|0)?s:K;mj(e,32,o,s,p);if(!(c[e>>2]&32))hj(v,w,e)|0;mj(e,48,o,s,p^65536);mj(e,48,r,t,0);if(!(c[e>>2]&32))hj(f,t,e)|0;mj(e,32,o,s,p^8192);y=J}h:do if((L|0)==244)if(!e)if(n){m=1;while(1){n=c[l+(m<<2)>>2]|0;if(!n)break;jj(j+(m<<3)|0,n,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ia;return m|0}function hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(ij(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){i=e+20|0;f=c[i>>2]|0;h=f;if((g-f|0)>>>0<d>>>0){f=Gb[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Gb[c[e+36>>2]&7](e,b,f)|0)>>>0<f>>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);qk(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ij(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function kj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=yk(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=xk(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function lj(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[5736+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=5824;e=5;break}}if((e|0)==2)if(!c)b=5824;else{b=5824;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function mj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;mk(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){hj(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;hj(h,f,a)|0}while(0);i=j;return}function nj(a,b){a=a|0;b=b|0;if(!a)a=0;else a=oj(a,b,0)|0;return a|0}function oj(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Zi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function pj(a,b){a=+a;b=b|0;return +(+qj(a,b))}function qj(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=pk(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+qj(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function rj(a){a=a|0;return 0}function sj(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function tj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function uj(a,b){a=+a;b=+b;var d=0,e=0.0;d=(g[k>>2]=a,c[k>>2]|0);e=+O(+a);do if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040){e=+O(+b);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)if(((g[k>>2]=b,c[k>>2]|0)^d|0)<0){a=(d|0)<0?b:a;break}else{a=a<b?b:a;break}}else a=b;while(0);return +a}function vj(a,b){a=+a;b=+b;var d=0,e=0.0;d=(g[k>>2]=a,c[k>>2]|0);e=+O(+a);do if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040){e=+O(+b);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)if(((g[k>>2]=b,c[k>>2]|0)^d|0)<0){a=(d|0)<0?a:b;break}else{a=a<b?a:b;break}}else a=b;while(0);return +a}function wj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(ij(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((Gb[c[b+36>>2]&7](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function xj(a,b){a=a|0;b=b|0;return (yj(a,tj(a)|0,1,b)|0)+-1|0}function yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(rj(e)|0)==0;a=hj(a,f,e)|0;if(!g)aj(e)}else a=hj(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function zj(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=fj(c[439]|0,a,e)|0;i=d;return b|0}function Aj(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[439]|0;if((c[f+76>>2]|0)>-1)g=rj(f)|0;else g=0;do if((xj(b,f)|0)<0)d=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;d=0;break}d=(wj(f,10)|0)<0}while(0);if(g|0)aj(f);return d<<31>>31|0}function Bj(a,b){a=a|0;b=b|0;return fj(c[439]|0,a,b)|0}
function wd(b,d,e,f,h,j,l){b=b|0;d=+d;e=+e;f=f|0;h=h|0;j=j|0;l=l|0;var m=0.0,n=0,o=0.0,p=0,q=0,r=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0.0,U=0.0,V=0.0,W=0.0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0,Ka=0.0,La=0.0,Ma=0.0,Na=0.0,Oa=0.0,Pa=0.0,Qa=0.0,Ra=0.0,Sa=0.0,Ta=0.0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0.0,db=0.0,eb=0,fb=0.0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0.0,rb=0.0,sb=0.0,tb=0.0,ub=0.0,vb=0.0,wb=0.0,xb=0.0,yb=0.0,zb=0.0,Ab=0.0,Bb=0.0,Cb=0.0,Db=0.0,Eb=0.0,Fb=0.0,Gb=0.0,Hb=0.0,Ib=0.0,Jb=0.0,Kb=0.0,Lb=0.0,Mb=0.0,Nb=0.0,Ob=0.0,Pb=0.0,Rb=0.0,Sb=0.0,Tb=0.0,Ub=0.0,Vb=0.0,Wb=0.0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0.0,$b=0.0,ac=0.0,bc=0.0,dc=0.0,ec=0.0,gc=0.0,ic=0.0,jc=0.0,kc=0.0,lc=0.0,mc=0.0,nc=0.0,oc=0.0,pc=0.0,qc=0.0,rc=0.0,sc=0.0,tc=0.0,uc=0.0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0.0,Bc=0.0,Cc=0.0,Dc=0.0,Ec=0.0,Fc=0.0,Gc=0.0,Hc=0.0,Ic=0.0,Jc=0.0,Kc=0.0,Lc=0.0,Mc=0.0,Nc=0.0,Oc=0.0,Pc=0.0,Qc=0,Rc=0,Sc=0;Sc=i;i=i+112|0;va=Sc+96|0;ua=Sc+88|0;ta=Sc+80|0;sa=Sc+72|0;Z=Sc+64|0;Y=Sc+56|0;X=Sc+48|0;S=Sc+40|0;M=Sc+32|0;D=Sc+24|0;C=Sc+16|0;p=Sc+8|0;n=Sc;t=Sc+104|0;fb=+O(+d);r=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040;if(!((h|0)==0|r^1)){c[n>>2]=3829;hc(0,2081,n);cb()}fb=+O(+e);q=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040;if(!((j|0)==0|q^1)){c[p>>2]=3909;hc(0,2081,p);cb()}zc=c[b>>2]|0;zc=(zc|0)==0?(f|0?f:1):zc;c[b+248>>2]=zc;n=c[b+712>>2]|0;if(n|0){m=+g[b+140>>2];Pc=+O(+m);if(!(m>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+124>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+148>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}m=+uj(m,0.0)}o=+g[b+176>>2];Pc=+O(+o);if(!(o>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+160>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+184>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+192>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}o=+uj(o,0.0)}u=m+o;m=+g[b+144>>2];Pc=+O(+m);if(!(m>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+132>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+148>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}m=+uj(m,0.0)}o=+g[b+180>>2];Pc=+O(+o);if(!(o>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+168>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+184>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+192>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}o=+uj(o,0.0)}B=u+(m+o);m=+g[b+128>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+152>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+uj(m,0.0);m=+g[b+164>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+188>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+192>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}u=o+ +uj(m,0.0);m=+g[b+136>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+152>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+uj(m,0.0);m=+g[b+172>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+188>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+192>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}A=u+(o+ +uj(m,0.0));m=+g[b+68>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+52>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+76>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}}o=+g[b+72>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+60>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+76>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}}u=m+o;m=+g[b+56>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+80>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+g[b+64>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+80>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}u=d-u;v=u-B;m=e-(m+o);o=m-A;if((h|0)==1&(j|0)==1){g[b+656>>2]=+xd(b,2,u);g[b+660>>2]=+xd(b,0,m);i=Sc;return}if(v<=0.0|o<=0.0){g[b+656>>2]=+xd(b,2,0.0);g[b+660>>2]=+xd(b,0,0.0);i=Sc;return}else{Qb[n&1](t,b,v,h,o,j);g[b+656>>2]=+xd(b,2,(h|2|0)==2?B+ +g[t>>2]:u);g[b+660>>2]=+xd(b,0,(j|2|0)==2?A+ +g[t+4>>2]:m);i=Sc;return}}Qc=b+700|0;Rc=cc(c[Qc>>2]|0)|0;if(!Rc){m=+g[b+140>>2];Pc=+O(+m);if(!(m>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+124>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+148>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}m=+uj(m,0.0)}o=+g[b+176>>2];Pc=+O(+o);if(!(o>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+160>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+184>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+192>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}o=+uj(o,0.0)}u=m+o;m=+g[b+144>>2];Pc=+O(+m);if(!(m>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+132>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+148>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}m=+uj(m,0.0)}o=+g[b+180>>2];Pc=+O(+o);if(!(o>=0.0)|(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+168>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+184>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+192>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}o=+uj(o,0.0)}A=u+(m+o);m=+g[b+128>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+152>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+uj(m,0.0);m=+g[b+164>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+188>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+192>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}u=o+ +uj(m,0.0);m=+g[b+136>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+152>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+156>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+uj(m,0.0);m=+g[b+172>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+188>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+192>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}v=u+(o+ +uj(m,0.0));m=+g[b+68>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+52>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+76>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}}o=+g[b+72>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+60>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+76>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}}u=m+o;m=+g[b+56>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+80>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+g[b+64>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+80>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}g[b+656>>2]=+xd(b,2,(h|2|0)==2?A:d-u);g[b+660>>2]=+xd(b,0,(j|2|0)==2?v:e-(m+o));i=Sc;return}do if(!l){n=(h|0)==2;if((!(d<=0.0&n)?!(e<=0.0&(j|0)==2):0)?!((h|0)==1&(j|0)==1):0)break;m=+g[b+56>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+80>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+g[b+64>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+80>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}u=m+o;m=+g[b+68>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+52>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+76>>2];Pc=+O(+m);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];Pc=+O(+m);m=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:m}}}o=+g[b+72>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+60>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+76>>2];Pc=+O(+o);if((g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];Pc=+O(+o);o=(g[k>>2]=Pc,c[k>>2]|0)>>>0>2139095040?0.0:o}}}g[b+656>>2]=+xd(b,2,r|d<0.0&n?0.0:d-(m+o));if(q)m=0.0;else m=e<0.0&(j|0)==2?0.0:e-u;g[b+660>>2]=+xd(b,0,m);i=Sc;return}while(0);xc=b+4|0;n=c[xc>>2]|0;yc=(zc|0)==2;a:do if(yc){switch(n|0){case 2:{n=3;break}case 3:{n=2;break}default:{Wa=130;break a}}f=(c[b+28>>2]|0)==1;p=c[b+8>>2]|0;Wa=133}else Wa=130;while(0);do if((Wa|0)==130){q=n|1;if((q|0)!=1){p=c[b+8>>2]|0;f=(c[b+28>>2]|0)==1;if((q|0)==3){Wa=133;break}else{w=0;y=0;Wa=134;break}}else{f=(c[b+28>>2]|0)==1;p=c[b+8>>2]|0;w=0;y=yc?3:2;q=1;Wa=134;break}}while(0);if((Wa|0)==133){v=+g[b+140>>2];fb=+O(+v);if(!(v>=0.0)|(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){w=1;y=0;q=3;Wa=134}else{r=0;q=3;Wa=141}}if((Wa|0)==134){x=c[852+(n<<2)>>2]|0;v=+g[b+124+(x<<2)>>2];fb=+O(+v);do if((g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){r=x|2;if((r|0)==3?(A=+g[b+152>>2],fb=+O(+A),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=A;break}t=(x|1|0)==5;if(t|(r|0)==2?(B=+g[b+148>>2],fb=+O(+B),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=B;break}v=+g[b+156>>2];fb=+O(+v);v=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040?(t?s:0.0):v}while(0);v=+uj(v,0.0);if(w){r=y;Wa=141}else{w=n;A=v;z=p;t=0;r=y;n=x;Wa=144}}do if((Wa|0)==141){A=+g[b+176>>2];fb=+O(+A);if(!(A>=0.0)|(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){w=n;A=v;z=p;t=1;n=c[852+(n<<2)>>2]|0;Wa=144;break}else{A=v+A;Wa=153;break}}while(0);if((Wa|0)==144){if(n>>>0>=6){c[C>>2]=2509;hc(0,2081,C);cb()}v=+g[b+160+(n<<2)>>2];fb=+O(+v);do if((g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){p=n|2;if((p|0)==3?(E=+g[b+188>>2],fb=+O(+E),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=E;break}n=(n|1|0)==5;if(n|(p|0)==2?(F=+g[b+184>>2],fb=+O(+F),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=F;break}v=+g[b+192>>2];fb=+O(+v);v=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):v}while(0);v=A+ +uj(v,0.0);if(t){n=w;A=v;p=z;Wa=153}else{n=w;A=v;y=r;t=0;r=f;Wa=154}}if((Wa|0)==153){v=+g[b+144>>2];fb=+O(+v);if(!(v>=0.0)|(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){y=r;t=1;z=p;r=f;Wa=154}else{B=A;t=r;Wa=161}}if((Wa|0)==154){w=c[868+(n<<2)>>2]|0;v=+g[b+124+(w<<2)>>2];fb=+O(+v);do if((g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){f=w|2;if((f|0)==3?(G=+g[b+152>>2],fb=+O(+G),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=G;break}p=(w|1|0)==5;if(p|(f|0)==2?(H=+g[b+148>>2],fb=+O(+H),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=H;break}v=+g[b+156>>2];fb=+O(+v);v=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040?(p?s:0.0):v}while(0);v=+uj(v,0.0);if(t){B=A;t=y;p=z;f=r;Wa=161}else{x=n;E=v;B=A;t=y;y=0;p=z;n=w;Wa=163}}if((Wa|0)==161){A=+g[b+180>>2];fb=+O(+A);if(!(A>=0.0)|(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){x=n;E=v;y=1;r=f;n=c[868+(n<<2)>>2]|0;Wa=163}else{wc=n;hb=f;gb=p;fb=B;jb=q;vc=t;eb=1}}if((Wa|0)==163){if(n>>>0>=6){c[D>>2]=2509;hc(0,2081,D);cb()}v=+g[b+160+(n<<2)>>2];fb=+O(+v);do if((g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(I=+g[b+188>>2],fb=+O(+I),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=I;break}n=(n|1|0)==5;if(n|(f|0)==2?(J=+g[b+184>>2],fb=+O(+J),(g[k>>2]=fb,c[k>>2]|0)>>>0<=2139095040):0){v=J;break}v=+g[b+192>>2];fb=+O(+v);v=(g[k>>2]=fb,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):v}while(0);wc=x;A=+uj(v,0.0);v=E;hb=r;gb=p;fb=B;jb=q;vc=t;eb=y}db=v+A;kb=vc|1;ib=(kb|0)==3;if(ib?(u=+g[b+140>>2],bb=+O(+u),!(!(u>=0.0)|(g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040)):0)Wa=181;else{p=c[852+(vc<<2)>>2]|0;u=+g[b+124+(p<<2)>>2];bb=+O(+u);do if((g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(K=+g[b+152>>2],bb=+O(+K),(g[k>>2]=bb,c[k>>2]|0)>>>0<=2139095040):0){u=K;break}f=(p|1|0)==5;if(f|(n|0)==2?(L=+g[b+148>>2],bb=+O(+L),(g[k>>2]=bb,c[k>>2]|0)>>>0<=2139095040):0){u=L;break}u=+g[b+156>>2];bb=+O(+u);u=(g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):u}while(0);u=+uj(u,0.0);if(ib)Wa=181;else{A=u;n=p;Wa=183}}if((Wa|0)==181){v=+g[b+176>>2];bb=+O(+v);if(!(v>=0.0)|(g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040){A=u;n=c[852+(vc<<2)>>2]|0;Wa=183}}if((Wa|0)==183){if(n>>>0>=6){c[M>>2]=2509;hc(0,2081,M);cb()}u=+g[b+160+(n<<2)>>2];bb=+O(+u);do if((g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(N=+g[b+188>>2],bb=+O(+N),(g[k>>2]=bb,c[k>>2]|0)>>>0<=2139095040):0){u=N;break}n=(n|1|0)==5;if(n|(f|0)==2?(P=+g[b+184>>2],bb=+O(+P),(g[k>>2]=bb,c[k>>2]|0)>>>0<=2139095040):0){u=P;break}u=+g[b+192>>2];bb=+O(+u);u=(g[k>>2]=bb,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):u}while(0);v=+uj(u,0.0);u=A}bb=u+v;if(eb?(o=+g[b+140>>2],P=+O(+o),!(!(o>=0.0)|(g[k>>2]=P,c[k>>2]|0)>>>0>2139095040)):0)Wa=201;else{p=c[852+(wc<<2)>>2]|0;o=+g[b+124+(p<<2)>>2];P=+O(+o);do if((g[k>>2]=P,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(Q=+g[b+152>>2],P=+O(+Q),(g[k>>2]=P,c[k>>2]|0)>>>0<=2139095040):0){o=Q;break}f=(p|1|0)==5;if(f|(n|0)==2?(R=+g[b+148>>2],Q=+O(+R),(g[k>>2]=Q,c[k>>2]|0)>>>0<=2139095040):0){o=R;break}o=+g[b+156>>2];R=+O(+o);o=(g[k>>2]=R,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);o=+uj(o,0.0);if(eb)Wa=201;else{u=o;n=p;Wa=204}}do if((Wa|0)==201){u=+g[b+176>>2];R=+O(+u);if(!(u>=0.0)|(g[k>>2]=R,c[k>>2]|0)>>>0>2139095040){u=o;n=c[852+(wc<<2)>>2]|0;Wa=204;break}else{o=o+u;Wa=213;break}}while(0);if((Wa|0)==204){if(n>>>0>=6){c[S>>2]=2509;hc(0,2081,S);cb()}o=+g[b+160+(n<<2)>>2];R=+O(+o);do if((g[k>>2]=R,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(T=+g[b+188>>2],R=+O(+T),(g[k>>2]=R,c[k>>2]|0)>>>0<=2139095040):0){o=T;break}n=(n|1|0)==5;if(n|(f|0)==2?(U=+g[b+184>>2],T=+O(+U),(g[k>>2]=T,c[k>>2]|0)>>>0<=2139095040):0){o=U;break}o=+g[b+192>>2];U=+O(+o);o=(g[k>>2]=U,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);o=u+ +uj(o,0.0);if(eb)Wa=213;else Wa=214}if((Wa|0)==213){u=+g[b+144>>2];U=+O(+u);if(!(u>=0.0)|(g[k>>2]=U,c[k>>2]|0)>>>0>2139095040)Wa=214;else Wa=221}if((Wa|0)==214){p=c[868+(wc<<2)>>2]|0;u=+g[b+124+(p<<2)>>2];U=+O(+u);do if((g[k>>2]=U,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(V=+g[b+152>>2],U=+O(+V),(g[k>>2]=U,c[k>>2]|0)>>>0<=2139095040):0){u=V;break}f=(p|1|0)==5;if(f|(n|0)==2?(W=+g[b+148>>2],V=+O(+W),(g[k>>2]=V,c[k>>2]|0)>>>0<=2139095040):0){u=W;break}u=+g[b+156>>2];W=+O(+u);u=(g[k>>2]=W,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):u}while(0);u=+uj(u,0.0);if(eb)Wa=221;else{A=o;n=p;Wa=223}}if((Wa|0)==221){v=+g[b+180>>2];W=+O(+v);if(!(v>=0.0)|(g[k>>2]=W,c[k>>2]|0)>>>0>2139095040){A=o;n=c[868+(wc<<2)>>2]|0;Wa=223}}if((Wa|0)==223){if(n>>>0>=6){c[X>>2]=2509;hc(0,2081,X);cb()}o=+g[b+160+(n<<2)>>2];W=+O(+o);do if((g[k>>2]=W,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(aa=+g[b+188>>2],W=+O(+aa),(g[k>>2]=W,c[k>>2]|0)>>>0<=2139095040):0){o=aa;break}n=(n|1|0)==5;if(n|(f|0)==2?(ba=+g[b+184>>2],aa=+O(+ba),(g[k>>2]=aa,c[k>>2]|0)>>>0<=2139095040):0){o=ba;break}o=+g[b+192>>2];ba=+O(+o);o=(g[k>>2]=ba,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);v=+uj(o,0.0);o=A}V=o+(u+v);if(ib?(m=+g[b+140>>2],ba=+O(+m),!(!(m>=0.0)|(g[k>>2]=ba,c[k>>2]|0)>>>0>2139095040)):0)Wa=241;else{p=c[852+(vc<<2)>>2]|0;m=+g[b+124+(p<<2)>>2];ba=+O(+m);do if((g[k>>2]=ba,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(ca=+g[b+152>>2],ba=+O(+ca),(g[k>>2]=ba,c[k>>2]|0)>>>0<=2139095040):0){m=ca;break}f=(p|1|0)==5;if(f|(n|0)==2?(da=+g[b+148>>2],ca=+O(+da),(g[k>>2]=ca,c[k>>2]|0)>>>0<=2139095040):0){m=da;break}m=+g[b+156>>2];da=+O(+m);m=(g[k>>2]=da,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):m}while(0);m=+uj(m,0.0);if(ib)Wa=241;else{o=m;n=p;Wa=244}}do if((Wa|0)==241){o=+g[b+176>>2];da=+O(+o);if(!(o>=0.0)|(g[k>>2]=da,c[k>>2]|0)>>>0>2139095040){o=m;n=c[852+(vc<<2)>>2]|0;Wa=244;break}else{m=m+o;Wa=253;break}}while(0);if((Wa|0)==244){if(n>>>0>=6){c[Y>>2]=2509;hc(0,2081,Y);cb()}m=+g[b+160+(n<<2)>>2];da=+O(+m);do if((g[k>>2]=da,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(ea=+g[b+188>>2],da=+O(+ea),(g[k>>2]=da,c[k>>2]|0)>>>0<=2139095040):0){m=ea;break}n=(n|1|0)==5;if(n|(f|0)==2?(ga=+g[b+184>>2],ea=+O(+ga),(g[k>>2]=ea,c[k>>2]|0)>>>0<=2139095040):0){m=ga;break}m=+g[b+192>>2];ga=+O(+m);m=(g[k>>2]=ga,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):m}while(0);m=o+ +uj(m,0.0);if(ib)Wa=253;else Wa=254}if((Wa|0)==253){o=+g[b+144>>2];ga=+O(+o);if(!(o>=0.0)|(g[k>>2]=ga,c[k>>2]|0)>>>0>2139095040)Wa=254;else Wa=261}if((Wa|0)==254){p=c[868+(vc<<2)>>2]|0;o=+g[b+124+(p<<2)>>2];ga=+O(+o);do if((g[k>>2]=ga,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(ia=+g[b+152>>2],ga=+O(+ia),(g[k>>2]=ga,c[k>>2]|0)>>>0<=2139095040):0){o=ia;break}f=(p|1|0)==5;if(f|(n|0)==2?(ja=+g[b+148>>2],ia=+O(+ja),(g[k>>2]=ia,c[k>>2]|0)>>>0<=2139095040):0){o=ja;break}o=+g[b+156>>2];ja=+O(+o);o=(g[k>>2]=ja,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);o=+uj(o,0.0);if(ib)Wa=261;else{v=m;n=p;Wa=263}}if((Wa|0)==261){u=+g[b+180>>2];ja=+O(+u);if(!(u>=0.0)|(g[k>>2]=ja,c[k>>2]|0)>>>0>2139095040){v=m;n=c[868+(vc<<2)>>2]|0;Wa=263}}if((Wa|0)==263){if(n>>>0>=6){c[Z>>2]=2509;hc(0,2081,Z);cb()}m=+g[b+160+(n<<2)>>2];ja=+O(+m);do if((g[k>>2]=ja,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(ka=+g[b+188>>2],ja=+O(+ka),(g[k>>2]=ja,c[k>>2]|0)>>>0<=2139095040):0){m=ka;break}n=(n|1|0)==5;if(n|(f|0)==2?(la=+g[b+184>>2],ka=+O(+la),(g[k>>2]=ka,c[k>>2]|0)>>>0<=2139095040):0){m=la;break}m=+g[b+192>>2];la=+O(+m);m=(g[k>>2]=la,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):m}while(0);u=+uj(m,0.0);m=v}U=m+(o+u);$a=eb?h:j;ab=eb?j:h;v=eb?V:U;E=eb?U:V;m=+g[b+68>>2];la=+O(+m);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){m=+g[b+52>>2];la=+O(+m);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){m=+g[b+76>>2];la=+O(+m);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];la=+O(+m);m=(g[k>>2]=la,c[k>>2]|0)>>>0>2139095040?0.0:m}}}o=+g[b+72>>2];la=+O(+o);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){o=+g[b+60>>2];la=+O(+o);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){o=+g[b+76>>2];la=+O(+o);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];la=+O(+o);o=(g[k>>2]=la,c[k>>2]|0)>>>0>2139095040?0.0:o}}}u=m+o;m=+g[b+56>>2];la=+O(+m);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){m=+g[b+80>>2];la=+O(+m);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){m=+g[b+84>>2];la=+O(+m);m=(g[k>>2]=la,c[k>>2]|0)>>>0>2139095040?0.0:m}}o=+g[b+64>>2];la=+O(+o);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){o=+g[b+80>>2];la=+O(+o);if((g[k>>2]=la,c[k>>2]|0)>>>0>2139095040){o=+g[b+84>>2];la=+O(+o);o=(g[k>>2]=la,c[k>>2]|0)>>>0>2139095040?0.0:o}}m=m+o;T=d-u;A=T-v;_a=b+204|0;B=+g[_a>>2]-u-v;Za=b+212|0;o=+g[Za>>2]-u-v;R=e-m;u=R-E;Ya=b+208|0;v=+g[Ya>>2]-m-E;Xa=b+216|0;m=+g[Xa>>2]-m-E;N=eb?B:v;P=eb?o:m;e=+O(+A);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)W=A;else W=+uj(+vj(A,o),B);e=+O(+u);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)u=+uj(+vj(u,m),v);E=eb?W:u;Q=eb?u:W;Va=(h|0)==1;if(!(Va&eb)?!((j|0)==1&(eb^1)):0)n=0;else{p=0;f=0;Wa=292}b:do if((Wa|0)==292)while(1){Wa=0;n=fc(c[Qc>>2]|0,p)|0;do if(f){if(c[n+24>>2]|0){n=f;break}m=+g[n+40>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[n+36>>2];e=+O(+m);if(m>0.0&(g[k>>2]=e,c[k>>2]|0)>>>0<2139095041){ra=m;Wa=296}}else{ra=m;Wa=296}if((Wa|0)==296?(Wa=0,ra!=0.0):0){n=0;break b}m=+g[n+44>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[n+36>>2];e=+O(+m);if(m<0.0&(g[k>>2]=e,c[k>>2]|0)>>>0<2139095041)m=-m;else{n=f;break}}if(m!=0.0){n=0;break b}else n=f}else{m=+g[n+40>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[n+36>>2];e=+O(+m);if(!(m>0.0&(g[k>>2]=e,c[k>>2]|0)>>>0<2139095041)){n=0;break}}if(!(m>0.0)){n=0;break}m=+g[n+44>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[n+36>>2];e=+O(+m);if(m<0.0&(g[k>>2]=e,c[k>>2]|0)>>>0<2139095041)m=-m;else{n=0;break}}if(!(m>0.0)){n=0;break}}while(0);p=p+1|0;if(p>>>0>=Rc>>>0)break;else{f=n;Wa=292}}while(0);Y=zc|0?zc:1;Z=b+32|0;e=+O(+u);$=(g[k>>2]=e,c[k>>2]|0);_=$>>>0>2139095040;$=$>>>0<2139095041;fa=(j|0)==1;ha=b+16|0;e=+O(+W);na=(g[k>>2]=e,c[k>>2]|0);ma=na>>>0<2139095041;na=na>>>0>2139095040;oa=n+252|0;pa=n+256|0;X=0;f=0;qa=0;c:while(1){S=fc(c[Qc>>2]|0,qa)|0;if(l){Ua=c[S>>2]|0;yd(S,(Ua|0)==0?Y:Ua)}d:do if((c[S+24>>2]|0)==1){if(X|0)c[X+708>>2]=S;c[S+708>>2]=0;p=S;f=(f|0)==0?S:f}else{if((S|0)==(n|0)){c[oa>>2]=c[2097];g[pa>>2]=0.0;p=X;break}p=c[xc>>2]|0;e:do if(yc){switch(p|0){case 2:{p=3;break e}case 3:break;default:{Wa=321;break e}}p=2}else Wa=321;while(0);if((Wa|0)==321)Wa=0;M=(p|1|0)==3;A=+g[S+196>>2];B=+O(+A);q=A>=0.0;t=(g[k>>2]=B,c[k>>2]|0)>>>0<2139095041;y=q&t;B=+g[S+200>>2];o=+O(+B);w=B>=0.0;x=(g[k>>2]=o,c[k>>2]|0)>>>0<2139095041;z=w&x;o=+g[S+48>>2];e=+O(+o);r=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040;do if(r){m=+g[S+36>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=s;break}m=m>0.0?0.0:s}else m=o;while(0);e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)Wa=374;else{e=+O(+(M?W:u));if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){Wa=374;break}w=S+256|0;e=+O(+(+g[w>>2]));if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040){if(!(a[10553]|0))break;if((c[S+252>>2]|0)==(c[2097]|0))break}do if(r){m=+g[S+36>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){A=s;break}A=m>0.0?0.0:s}else A=o;while(0);if(M?(Ca=+g[S+140>>2],e=+O(+Ca),!(!(Ca>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)):0){m=Ca;Wa=342}else{t=c[852+(p<<2)>>2]|0;m=+g[S+124+(t<<2)>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=t|2;if((q|0)==3?(Da=+g[S+152>>2],e=+O(+Da),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){m=Da;break}r=(t|1|0)==5;if(r|(q|0)==2?(Ea=+g[S+148>>2],e=+O(+Ea),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){m=Ea;break}m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):m}while(0);m=+uj(m,0.0);if(M)Wa=342;else{r=t;Wa=345}}do if((Wa|0)==342){o=+g[S+176>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){r=c[852+(p<<2)>>2]|0;Wa=345;break}else{m=m+o;Wa=354;break}}while(0);if((Wa|0)==345){if(r>>>0>=6){Wa=346;break c}o=+g[S+160+(r<<2)>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=r|2;if((q|0)==3?(Fa=+g[S+188>>2],e=+O(+Fa),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Fa;break}r=(r|1|0)==5;if(r|(q|0)==2?(Ga=+g[S+184>>2],e=+O(+Ga),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Ga;break}o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):o}while(0);m=m+ +uj(o,0.0);if(M)Wa=354;else Wa=355}if((Wa|0)==354){o=+g[S+144>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)Wa=355;else Wa=362}if((Wa|0)==355){t=c[868+(p<<2)>>2]|0;o=+g[S+124+(t<<2)>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=t|2;if((q|0)==3?(Ha=+g[S+152>>2],e=+O(+Ha),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Ha;break}r=(t|1|0)==5;if(r|(q|0)==2?(Ia=+g[S+148>>2],e=+O(+Ia),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Ia;break}o=+g[S+156>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):o}while(0);o=+uj(o,0.0);if(M)Wa=362;else{q=t;Wa=364}}do if((Wa|0)==362){Wa=0;v=+g[S+180>>2];e=+O(+v);if(!(!(v>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040))break;q=c[868+(p<<2)>>2]|0;Wa=364}while(0);if((Wa|0)==364){Wa=0;if(q>>>0>=6){Wa=365;break c}v=+g[S+160+(q<<2)>>2];e=+O(+v);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){p=q|2;if((p|0)==3?(Ja=+g[S+188>>2],e=+O(+Ja),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){v=Ja;break}q=(q|1|0)==5;if(q|(p|0)==2?(Ka=+g[S+184>>2],e=+O(+Ka),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){v=Ka;break}v=+g[S+192>>2];e=+O(+v);v=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(q?s:0.0):v}while(0);v=+uj(v,0.0)}g[w>>2]=+uj(A,m+(o+v))}while(0);do if((Wa|0)==374){Wa=0;D=M^1;C=q&t^1;if(!(D|C)){m=+g[S+140>>2];e=+O(+m);if(!(m>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+124>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+148>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);m=+uj(m,0.0)}o=+g[S+176>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+160>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+184>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}v=m+o;m=+g[S+144>>2];e=+O(+m);if(!(m>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+132>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+148>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);m=+uj(m,0.0)}o=+g[S+180>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+168>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+184>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}g[S+256>>2]=+uj(A,v+(m+o));break}w=w&x^1;if(!(M|w)){m=+g[S+128>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+152>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+uj(m,0.0);m=+g[S+164>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+188>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+192>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);v=o+ +uj(m,0.0);m=+g[S+136>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+152>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+uj(m,0.0);m=+g[S+172>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+188>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+192>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);g[S+256>>2]=+uj(B,v+(o+ +uj(m,0.0)));break}if(y){m=+g[S+68>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+52>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+76>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+84>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+g[S+72>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+60>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+76>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+84>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=A+(m+o);t=1}else{v=s;t=0}if(z){m=+g[S+56>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+80>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+84>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+g[S+64>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+80>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+84>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);m=B+(m+o);q=1}else{m=s;q=0}r=c[Z>>2]|0;if(!(M&(r|0)==2)){o=+O(+v);Wa=(g[k>>2]=o,c[k>>2]|0)>>>0>2139095040;o=Wa?(na?v:W):v;t=Wa?(na?t:2):t;if((r|0)==2&(M^1))Wa=431;else Wa=430}else{o=v;Wa=430}do if((Wa|0)==430){Wa=0;e=+O(+m);Ua=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040;m=Ua?(_?m:u):m;q=Ua?(_?q:2):q;if(!M){Wa=431;break}if(!($&(fa&w))){v=m;r=t;break}r=c[S+20>>2]|0;if(!r)r=c[ha>>2]|0;r=(r|0)==4;v=r?u:m;q=r?1:q;r=t}while(0);do if((Wa|0)==431){Wa=0;if(!(ma&(Va&C))){v=m;r=t;break}r=c[S+20>>2]|0;if(!r)r=c[ha>>2]|0;r=(r|0)==4;v=m;o=r?W:o;r=r?1:t}while(0);m=+g[S+220>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040){if((r|0)==1&D){A=o/m;m=+g[S+128>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+152>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+uj(m,0.0);m=+g[S+164>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+188>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+192>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);v=o+ +uj(m,0.0);m=+g[S+136>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+152>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+uj(m,0.0);m=+g[S+172>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+188>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+192>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);g[S+256>>2]=+uj(A,v+(o+ +uj(m,0.0)));p=X;break d}if(!(M&(q|0)==1))break;A=v*m;m=+g[S+140>>2];e=+O(+m);if(!(m>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+124>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+148>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);m=+uj(m,0.0)}o=+g[S+176>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+160>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+184>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}v=m+o;m=+g[S+144>>2];e=+O(+m);if(!(m>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+132>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){m=+g[S+148>>2];e=+O(+m);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);m=+uj(m,0.0)}o=+g[S+180>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+168>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){o=+g[S+184>>2];e=+O(+o);if((g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040)break;o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}g[S+256>>2]=+uj(A,v+(m+o));p=X;break d}while(0);m=+g[S+212>>2];switch(r|0){case 2:case 1:{e=+O(+m);o=o<m|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?o:m;break}case 0:{e=+O(+m);r=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040;o=r?o:m;r=r?0:2;break}default:{}}m=+g[S+216>>2];switch(q|0){case 2:case 1:{e=+O(+m);m=v<m|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?v:m;break}case 0:{e=+O(+m);q=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040;m=q?v:m;q=q?0:2;break}default:m=v}vd(S,o,m,zc,r,q,0,3991)|0;A=+g[(M?S+656|0:S+660|0)>>2];if(M?(La=+g[S+140>>2],e=+O(+La),!(!(La>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)):0){m=La;Wa=491}else{t=c[852+(p<<2)>>2]|0;m=+g[S+124+(t<<2)>>2];e=+O(+m);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=t|2;if((q|0)==3?(Ma=+g[S+152>>2],e=+O(+Ma),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){m=Ma;break}r=(t|1|0)==5;if(r|(q|0)==2?(Na=+g[S+148>>2],e=+O(+Na),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){m=Na;break}m=+g[S+156>>2];e=+O(+m);m=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):m}while(0);m=+uj(m,0.0);if(M)Wa=491;else{r=t;Wa=494}}do if((Wa|0)==491){o=+g[S+176>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){r=c[852+(p<<2)>>2]|0;Wa=494;break}else{m=m+o;Wa=503;break}}while(0);if((Wa|0)==494){if(r>>>0>=6){Wa=495;break c}o=+g[S+160+(r<<2)>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=r|2;if((q|0)==3?(Oa=+g[S+188>>2],e=+O(+Oa),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Oa;break}r=(r|1|0)==5;if(r|(q|0)==2?(Pa=+g[S+184>>2],e=+O(+Pa),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Pa;break}o=+g[S+192>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):o}while(0);m=m+ +uj(o,0.0);if(M)Wa=503;else Wa=504}if((Wa|0)==503){o=+g[S+144>>2];e=+O(+o);if(!(o>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040)Wa=504;else Wa=511}if((Wa|0)==504){t=c[868+(p<<2)>>2]|0;o=+g[S+124+(t<<2)>>2];e=+O(+o);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){q=t|2;if((q|0)==3?(Qa=+g[S+152>>2],e=+O(+Qa),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Qa;break}r=(t|1|0)==5;if(r|(q|0)==2?(Ra=+g[S+148>>2],e=+O(+Ra),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){o=Ra;break}o=+g[S+156>>2];e=+O(+o);o=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(r?s:0.0):o}while(0);o=+uj(o,0.0);if(M)Wa=511;else{q=t;Wa=513}}do if((Wa|0)==511){Wa=0;v=+g[S+180>>2];e=+O(+v);if(!(!(v>=0.0)|(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040))break;q=c[868+(p<<2)>>2]|0;Wa=513}while(0);if((Wa|0)==513){Wa=0;if(q>>>0>=6){Wa=514;break c}v=+g[S+160+(q<<2)>>2];e=+O(+v);do if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){p=q|2;if((p|0)==3?(Sa=+g[S+188>>2],e=+O(+Sa),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){v=Sa;break}q=(q|1|0)==5;if(q|(p|0)==2?(Ta=+g[S+184>>2],e=+O(+Ta),(g[k>>2]=e,c[k>>2]|0)>>>0<=2139095040):0){v=Ta;break}v=+g[S+192>>2];e=+O(+v);v=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?(q?s:0.0):v}while(0);v=+uj(v,0.0)}g[S+256>>2]=+uj(A,m+(o+v))}while(0);c[S+252>>2]=c[2097];p=X}while(0);qa=qa+1|0;if(qa>>>0>=Rc>>>0){Ua=f;Wa=309;break}else X=p}if((Wa|0)==309){Aa=(ab|0)==1;Ba=l^1;Y=Aa&Ba;F=+O(+N);S=(g[k>>2]=F,c[k>>2]|0)>>>0<2139095041;F=+O(+P);X=(g[k>>2]=F,c[k>>2]|0)>>>0<2139095041;Z=($a|0)==2;_=884+(wc<<2)|0;$=(ab|2|0)==2;fa=(ab|0)==2;Aa=Aa&(hb^1);ha=852+(vc<<2)|0;ma=b+176|0;na=b+188|0;oa=b+184|0;pa=b+192|0;qa=852+(vc<<2)|0;sa=b+16|0;ta=884+(vc<<2)|0;ua=868+(vc<<2)|0;va=852+(wc<<2)|0;wa=852+(wc<<2)|0;xa=868+(wc<<2)|0;F=+O(+Q);ya=(g[k>>2]=F,c[k>>2]|0)>>>0>2139095040;za=ya?0:2;M=(j|0)==1;z=0;D=0;F=0.0;G=0.0;while(1){f:do if(z>>>0<Rc>>>0){w=0;n=z;x=0;q=0;B=0.0;v=0.0;J=0.0;while(1){t=fc(c[Qc>>2]|0,n)|0;c[t+688>>2]=D;r=c[t+24>>2]|0;if((r|0)==1){f=w;p=x;m=B;o=J}else{H=+g[t+256>>2];if(eb?(lb=+g[t+68>>2],Ta=+O(+lb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){m=lb;Wa=536}else{f=c[va>>2]|0;m=+g[t+52+(f<<2)>>2];Ta=+O(+m);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){p=f|2;if((p|0)==3?(mb=+g[t+80>>2],Ta=+O(+mb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){m=mb;break}f=(f|1|0)==5;if(f|(p|0)==2?(nb=+g[t+76>>2],Ta=+O(+nb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){m=nb;break}m=+g[t+84>>2];Ta=+O(+m);m=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):m}while(0);if(eb)Wa=536;else Wa=537}if((Wa|0)==536){Wa=0;o=+g[t+72>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=537}do if((Wa|0)==537){Wa=0;f=c[xa>>2]|0;o=+g[t+52+(f<<2)>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(ob=+g[t+80>>2],Ta=+O(+ob),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=ob;break}f=(f|1|0)==5;if(f|(p|0)==2?(pb=+g[t+76>>2],Ta=+O(+pb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=pb;break}o=+g[t+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);A=B+(H+(m+o));if(hb&(q|0)!=0&A>E){C=n;p=x;m=B;K=v;break f}q=q+1|0;do if(!r){o=+g[t+40>>2];Ta=+O(+o);f=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040;if(f){m=+g[t+36>>2];Ta=+O(+m);if(m>0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)Wa=547;else Wa=548}else{m=o;Wa=547}if((Wa|0)==547?(Wa=0,!(m!=0.0)):0)Wa=548;if((Wa|0)==548){Wa=0;m=+g[t+44>>2];Ta=+O(+m);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){m=+g[t+36>>2];Ta=+O(+m);if(m<0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)m=-m;else{o=J;break}}if(!(m!=0.0)){o=J;break}}if(f){m=+g[t+36>>2];Ta=+O(+m);o=m>0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041?m:0.0}m=+g[t+44>>2];Ta=+O(+m);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){m=+g[t+36>>2];Ta=+O(+m);m=m<0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041?-m:0.0}v=v+o;o=J-m*H}else o=J;while(0);if(w|0)c[w+708>>2]=t;c[t+708>>2]=0;f=t;p=(x|0)==0?t:x;m=A}n=n+1|0;if(n>>>0<Rc>>>0){w=f;x=p;B=m;J=o}else{C=n;K=v;J=o;break}}}else{C=z;p=0;q=0;m=0.0;K=0.0;J=0.0}while(0);Ta=+O(+E);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){if(S&m<N){E=N;break}E=X&m>P?P:E}while(0);Ta=+O(+E);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){if(!(m<0.0)){L=0.0;break}L=-m}else L=E-m;while(0);g:do if(Y)m=0.0;else{r=(p|0)==0;if(r){m=0.0;break}I=L/J;f=L>0.0;H=L/K;if(L<0.0){n=p;o=0.0;m=0.0;do{B=+g[n+256>>2];v=+g[n+44>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[n+36>>2];Ta=+O(+v);v=v<0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041?-v:0.0}v=B*v;do if(v!=-0.0){Ta=B-I*v;A=+xd(n,wc,Ta);if(!(Ta!=A))break;o=o+v;m=m-(A-B)}while(0);n=c[n+708>>2]|0}while((n|0)!=0);v=0.0}else{n=p;B=0.0;m=0.0;while(1){A=+g[n+256>>2];do if(f){o=+g[n+40>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[n+36>>2];Ta=+O(+o);if(!(o>0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)){o=B;break}}if(!(o!=0.0)){o=B;break}Ta=A+H*o;v=+xd(n,wc,Ta);if(!(Ta!=v)){o=B;break}o=B-o;m=m-(v-A)}else o=B;while(0);n=c[n+708>>2]|0;if(!n){v=o;o=0.0;break}else B=o}}o=J+o;m=L+m;if(r){m=0.0;break}x=m<0.0;y=o==0.0;J=m/o;t=c[ta>>2]|0;w=m>0.0;I=m/(K+v);m=0.0;while(1){v=+g[p+256>>2];do if(x){o=+g[p+44>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+36>>2];Ta=+O(+o);o=o<0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041?-o:0.0}Ta=v*o;o=-Ta;if(!(Ta!=-0.0)){A=v;break}A=+xd(p,wc,v+(y?o:J*o))}else{if(!w){A=v;break}o=+g[p+40>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+36>>2];Ta=+O(+o);if(!(o>0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)){A=v;break}}if(!(o!=0.0)){A=v;break}A=+xd(p,wc,v+I*o)}while(0);m=m-(A-v);h:do if(eb){o=+g[p+68>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+52>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+76>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[p+72>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+60>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+76>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);B=A+(o+v);A=+g[p+200>>2];do if(!ya){Ta=+O(+A);if(!(M&(!(A>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)))break;n=c[p+20>>2]|0;if(!n)n=c[sa>>2]|0;if((n|0)==4){A=Q;n=1;o=B;f=1;break h}}while(0);Ta=+O(+A);if(!(A>=0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)){A=Q;n=za;o=B;f=1;break}o=+g[p+56>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+80>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[p+64>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+80>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);A=A+(o+v);n=1;o=B;f=1}else{o=+g[p+56>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+80>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[p+64>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+80>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);A=A+(o+v);B=+g[p+196>>2];do if(!ya){Ta=+O(+B);if(!(Va&(!(B>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)))break;n=c[p+20>>2]|0;if(!n)n=c[sa>>2]|0;if((n|0)==4){n=1;o=Q;f=1;break h}}while(0);Ta=+O(+B);if(!(B>=0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)){n=1;o=Q;f=za;break}o=+g[p+68>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+52>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+76>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[p+72>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+60>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+76>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);n=1;o=B+(o+v);f=1}while(0);H=+g[p+220>>2];Ta=+O(+H);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=674;else{if(eb){B=o/H;o=+g[p+128>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+152>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+156>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+uj(o,0.0);o=+g[p+164>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+188>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+192>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);A=v+ +uj(o,0.0);o=+g[p+136>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+152>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+156>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+uj(o,0.0);o=+g[p+172>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+188>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+192>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+vj(+uj(B,A+(v+ +uj(o,0.0))),u);A=o;n=1;o=o*H;Wa=674;break}B=A*H;o=+g[p+140>>2];Ta=+O(+o);if(!(o>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+124>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+148>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+156>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}v=+g[p+176>>2];Ta=+O(+v);if(!(v>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+160>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+184>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+192>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);v=+uj(v,0.0)}A=o+v;o=+g[p+144>>2];Ta=+O(+o);if(!(o>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+132>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[p+148>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[p+156>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}v=+g[p+180>>2];Ta=+O(+v);if(!(v>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+168>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[p+184>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[p+192>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);v=+uj(v,0.0)}o=+vj(+uj(B,A+(o+v)),W);v=+g[p+212>>2];A=o/H;f=1;Wa=675}while(0);i:do if((Wa|0)==674){Wa=0;v=+g[p+212>>2];switch(f|0){case 2:case 1:{Wa=675;break i}case 0:break;default:{v=o;r=f;break i}}Ta=+O(+v);r=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040;v=r?o:v;r=r?0:2}while(0);if((Wa|0)==675){Wa=0;Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040|o<v?o:v;r=f}o=+g[p+216>>2];switch(n|0){case 2:case 1:{Ta=+O(+o);A=A<o|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?A:o;f=n;break}case 0:{Ta=+O(+o);f=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040;A=f?A:o;f=f?0:2;break}default:f=n}Sa=+g[p+196+(t<<2)>>2];Ta=+O(+Sa);if(Sa>=0.0&(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041)n=0;else{n=c[p+20>>2]|0;if(!n)n=c[sa>>2]|0;n=(n|0)==4}if(l)n=n^1;else n=0;vd(p,v,A,zc,r,f,n,3999)|0;p=c[p+708>>2]|0;if(!p)break g}}while(0);m=L+m;do if(Z&m>0.0){o=+g[b+204+(c[_>>2]<<2)>>2];Ta=+O(+o);if(!(o>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){m=0.0;break}m=+uj(0.0,o-(E-m))}while(0);j:do switch(gb|0){case 1:{I=0.0;m=m*.5;break}case 2:{I=0.0;break}case 3:{if(q>>>0<=1){I=0.0;m=0.0;break j}I=+uj(m,0.0)/+((q+-1|0)>>>0);m=0.0;break}case 4:{m=m/+(q>>>0);I=m;m=m*.5;break}default:{I=0.0;m=0.0}}while(0);o=fb+m;t=z>>>0<C>>>0;k:do if(t){H=0.0;r=z;B=o;while(1){q=fc(c[Qc>>2]|0,r)|0;l:do switch(c[q+24>>2]|0){case 1:{if(eb){o=+g[q+104>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[q+112>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=704}else Wa=704;if((Wa|0)==704){Wa=0;f=c[va>>2]|0;o=+g[q+88+(f<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(qb=+g[q+116>>2],Ta=+O(+qb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=qb;break}if((f|1|0)==5|(n|0)==2?(rb=+g[q+112>>2],Ta=+O(+rb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=rb;break}o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>=2139095041){Wa=798;break l}}if(!l){v=H;o=B;break l}if(eb){o=+g[q+104>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[q+112>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)Wa=724;else Wa=717}else Wa=717;if((Wa|0)==717){f=c[va>>2]|0;o=+g[q+88+(f<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(sb=+g[q+116>>2],Ta=+O(+sb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=sb;break}if((f|1|0)==5|(n|0)==2?(tb=+g[q+112>>2],Ta=+O(+tb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=tb;break}o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o;if(eb)Wa=724;else{p=f;Wa=727}}do if((Wa|0)==724){v=+g[ma>>2];Ta=+O(+v);if(!(v>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){p=c[va>>2]|0;Wa=727;break}else{o=o+v;Wa=734;break}}while(0);if((Wa|0)==727){v=+g[b+160+(p<<2)>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(ub=+g[na>>2],Ta=+O(+ub),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=ub;break}f=(p|1|0)==5;if(f|(n|0)==2?(vb=+g[oa>>2],Ta=+O(+vb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=vb;break}v=+g[pa>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);o=o+ +uj(v,0.0);if(eb)Wa=734;else{f=p;Wa=736}}do if((Wa|0)==734){Wa=0;v=+g[q+68>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;f=c[va>>2]|0;Wa=736}while(0);do if((Wa|0)==736){Wa=0;v=+g[q+52+(f<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;n=f|2;if((n|0)==3?(wb=+g[q+80>>2],Ta=+O(+wb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=wb;break}f=(f|1|0)==5;if(f|(n|0)==2?(xb=+g[q+76>>2],Ta=+O(+xb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=xb;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);g[q+224+(c[wa>>2]<<2)>>2]=o+v;v=H;o=B;break}case 0:{if(l){Wa=q+224+(c[wa>>2]<<2)|0;g[Wa>>2]=B+ +g[Wa>>2]}if(Y){if(eb?(yb=+g[q+68>>2],Ta=+O(+yb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=yb;Wa=755}else{n=c[va>>2]|0;o=+g[q+52+(n<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(zb=+g[q+80>>2],Ta=+O(+zb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=zb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Ab=+g[q+76>>2],Ta=+O(+Ab),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Ab;break}o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);if(eb)Wa=755;else Wa=756}if((Wa|0)==755){Wa=0;A=+g[q+72>>2];Ta=+O(+A);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=756}do if((Wa|0)==756){Wa=0;n=c[xa>>2]|0;A=+g[q+52+(n<<2)>>2];Ta=+O(+A);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;f=n|2;if((f|0)==3?(Bb=+g[q+80>>2],Ta=+O(+Bb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){A=Bb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Cb=+g[q+76>>2],Ta=+O(+Cb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){A=Cb;break}v=+g[q+84>>2];Ta=+O(+v);A=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):v}while(0);v=Q;o=B+(+g[q+256>>2]+(I+(o+A)));break l}v=+g[q+656+(c[_>>2]<<2)>>2];do if(eb){o=+g[q+68>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){Wa=766;break}o=v+o;Wa=773}else Wa=766;while(0);if((Wa|0)==766){n=c[va>>2]|0;o=+g[q+52+(n<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(Db=+g[q+80>>2],Ta=+O(+Db),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Db;break}n=(n|1|0)==5;if(n|(f|0)==2?(Eb=+g[q+76>>2],Ta=+O(+Eb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Eb;break}o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);o=v+o;if(eb)Wa=773;else Wa=774}if((Wa|0)==773){Wa=0;v=+g[q+72>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=774}do if((Wa|0)==774){n=c[xa>>2]|0;v=+g[q+52+(n<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;f=n|2;if((f|0)==3?(Fb=+g[q+80>>2],Ta=+O(+Fb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Fb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Gb=+g[q+76>>2],Ta=+O(+Gb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Gb;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):v}while(0);A=B+(I+(o+v));v=+g[q+656+(c[ta>>2]<<2)>>2];do if(ib){o=+g[q+68>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){Wa=783;break}o=v+o;Wa=790}else Wa=783;while(0);if((Wa|0)==783){n=c[ha>>2]|0;o=+g[q+52+(n<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(Hb=+g[q+80>>2],Ta=+O(+Hb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Hb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Ib=+g[q+76>>2],Ta=+O(+Ib),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Ib;break}o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);o=v+o;if(ib)Wa=790;else Wa=791}if((Wa|0)==790){Wa=0;v=+g[q+72>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=791}do if((Wa|0)==791){Wa=0;n=c[ua>>2]|0;v=+g[q+52+(n<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;f=n|2;if((f|0)==3?(Jb=+g[q+80>>2],Ta=+O(+Jb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Jb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Kb=+g[q+76>>2],Ta=+O(+Kb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Kb;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):v}while(0);v=+uj(H,o+v);o=A;break}default:Wa=798}while(0);do if((Wa|0)==798){Wa=0;if(!l){v=H;o=B;break}if(eb?(Lb=+g[ma>>2],Ta=+O(+Lb),!(!(Lb>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)):0)o=Lb;else{n=c[va>>2]|0;o=+g[b+160+(n<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){f=n|2;if((f|0)==3?(Mb=+g[na>>2],Ta=+O(+Mb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Mb;break}n=(n|1|0)==5;if(n|(f|0)==2?(Nb=+g[oa>>2],Ta=+O(+Nb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Nb;break}o=+g[pa>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(n?s:0.0):o}while(0);o=+uj(o,0.0)}j=q+224+(c[wa>>2]<<2)|0;g[j>>2]=m+o+ +g[j>>2];v=H;o=B}while(0);r=r+1|0;if((r|0)==(C|0)){m=o;break k}else{H=v;B=o}}}else{v=0.0;m=o}while(0);H=db+m;do if($){m=+xd(b,vc,U+v)-U;if(!fa)break;m=+vj(m,Q)}else m=Q;while(0);B=+xd(b,vc,U+(Aa?Q:v))-U;if(t&l){r=z;do{q=fc(c[Qc>>2]|0,r)|0;m:do if((c[q+24>>2]|0)==1){if(ib){o=+g[q+104>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[q+112>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[q+120>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:v}else v=o;while(0);Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)Wa=828;else Wa=819}else Wa=819;do if((Wa|0)==819){p=c[ha>>2]|0;o=+g[q+88+(p<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(Ob=+g[q+116>>2],Ta=+O(+Ob),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Ob;break}if((p|1|0)==5|(n|0)==2?(Pb=+g[q+112>>2],Ta=+O(+Pb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Pb;break}v=+g[q+120>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:v}else v=o;while(0);Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041){if(!ib){f=p;Wa=833;break}o=+g[q+104>>2];Wa=828;break}if(ib?(Xb=+g[ma>>2],Ta=+O(+Xb),!(!(Xb>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)):0){o=Xb;Wa=868}else{o=+g[b+160+(p<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(Yb=+g[na>>2],Ta=+O(+Yb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Yb;break}f=(p|1|0)==5;if(f|(n|0)==2?(Zb=+g[oa>>2],Ta=+O(+Zb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Zb;break}o=+g[pa>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);o=+uj(o,0.0);if(ib)Wa=868;else Wa=869}if((Wa|0)==868){Wa=0;v=+g[q+68>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=869}do if((Wa|0)==869){Wa=0;v=+g[q+52+(p<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;n=p|2;if((n|0)==3?(_b=+g[q+80>>2],Ta=+O(+_b),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=_b;break}f=(p|1|0)==5;if(f|(n|0)==2?($b=+g[q+76>>2],Ta=+O(+$b),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=$b;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);g[q+224+(c[qa>>2]<<2)>>2]=o+v;break m}while(0);do if((Wa|0)==828){Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[q+112>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040){Wa=840;break}f=c[ha>>2]|0;o=+g[q+88+(f<<2)>>2];Wa=833}while(0);if((Wa|0)==833){Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(Rb=+g[q+116>>2],Ta=+O(+Rb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Rb;break}if((f|1|0)==5|(n|0)==2?(Sb=+g[q+112>>2],Ta=+O(+Sb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=Sb;break}o=+g[q+120>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?s:o}while(0);Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o;if(ib)Wa=840;else{p=f;Wa=843}}do if((Wa|0)==840){v=+g[ma>>2];Ta=+O(+v);if(!(v>=0.0)|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){p=c[ha>>2]|0;Wa=843;break}else{o=o+v;Wa=850;break}}while(0);if((Wa|0)==843){v=+g[b+160+(p<<2)>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(Tb=+g[na>>2],Ta=+O(+Tb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Tb;break}f=(p|1|0)==5;if(f|(n|0)==2?(Ub=+g[oa>>2],Ta=+O(+Ub),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Ub;break}v=+g[pa>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);o=o+ +uj(v,0.0);if(ib)Wa=850;else{f=p;Wa=852}}do if((Wa|0)==850){Wa=0;v=+g[q+68>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;f=c[ha>>2]|0;Wa=852}while(0);do if((Wa|0)==852){Wa=0;v=+g[q+52+(f<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;n=f|2;if((n|0)==3?(Vb=+g[q+80>>2],Ta=+O(+Vb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Vb;break}f=(f|1|0)==5;if(f|(n|0)==2?(Wb=+g[q+76>>2],Ta=+O(+Wb),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=Wb;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);g[q+224+(c[qa>>2]<<2)>>2]=o+v}else{n=c[q+20>>2]|0;if(!n)n=c[sa>>2]|0;n:do switch(n|0){case 4:{do if(eb){o=+g[q+200>>2];A=+O(+o);n=o>=0.0&(g[k>>2]=A,c[k>>2]|0)>>>0<2139095041;A=+g[q+656>>2];o=+g[q+68>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[q+52>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+76>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[q+72>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[q+60>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[q+76>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);v=A+(o+v);o=+g[q+220>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){A=B;break}A=v/o}else{o=+g[q+196>>2];A=+O(+o);n=o>=0.0&(g[k>>2]=A,c[k>>2]|0)>>>0<2139095041;A=+g[q+660>>2];o=+g[q+56>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){o=+g[q+80>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);v=+g[q+64>>2];Ta=+O(+v);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){v=+g[q+80>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);o=A+(o+v);v=+g[q+220>>2];Ta=+O(+v);A=o;v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?B:v*o}while(0);o=+g[q+212>>2];Ta=+O(+o);v=v<o|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?v:o;o=+g[q+216>>2];Ta=+O(+o);o=A<o|(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?A:o;if(n){o=bb;break n}Sa=+O(+v);Ta=+O(+o);vd(q,v,o,zc,(g[k>>2]=Sa,c[k>>2]|0)>>>0<2139095041&1,(g[k>>2]=Ta,c[k>>2]|0)>>>0<2139095041&1,1,4004)|0;o=bb;break}case 1:{o=bb;break}default:{v=+g[q+656+(c[ta>>2]<<2)>>2];do if(ib){o=+g[q+68>>2];Ta=+O(+o);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){Wa=902;break}o=v+o;Wa=909}else Wa=902;while(0);if((Wa|0)==902){f=c[ha>>2]|0;o=+g[q+52+(f<<2)>>2];Ta=+O(+o);do if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040){p=f|2;if((p|0)==3?(ac=+g[q+80>>2],Ta=+O(+ac),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=ac;break}f=(f|1|0)==5;if(f|(p|0)==2?(bc=+g[q+76>>2],Ta=+O(+bc),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){o=bc;break}o=+g[q+84>>2];Ta=+O(+o);o=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);o=v+o;if(ib)Wa=909;else Wa=910}if((Wa|0)==909){Wa=0;v=+g[q+72>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040)Wa=910}do if((Wa|0)==910){Wa=0;f=c[ua>>2]|0;v=+g[q+52+(f<<2)>>2];Ta=+O(+v);if((g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(dc=+g[q+80>>2],Ta=+O(+dc),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=dc;break}f=(f|1|0)==5;if(f|(p|0)==2?(ec=+g[q+76>>2],Ta=+O(+ec),(g[k>>2]=Ta,c[k>>2]|0)>>>0<=2139095040):0){v=ec;break}v=+g[q+84>>2];Ta=+O(+v);v=(g[k>>2]=Ta,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);o=m-(o+v);o=bb+((n|0)==2?o*.5:o)}}while(0);j=q+224+(c[qa>>2]<<2)|0;g[j>>2]=G+o+ +g[j>>2]}while(0);r=r+1|0}while((r|0)!=(C|0))}G=G+B;F=+uj(F,H);D=D+1|0;if(C>>>0<Rc>>>0)z=C;else break}do if(!(D>>>0<2|Ba)?(ec=+O(+Q),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){m=Q-G;o:do switch(c[b+12>>2]|0){case 3:{B=0.0;m=bb+m;break}case 2:{B=0.0;m=bb+m*.5;break}case 4:{if(!(Q>G)){B=0.0;m=bb;break o}B=m/+(D>>>0);m=bb;break}default:{B=0.0;m=bb}}while(0);if(!D)break;w=b+16|0;x=852+(vc<<2)|0;y=852+(vc<<2)|0;z=868+(vc<<2)|0;C=884+(vc<<2)|0;r=0;t=0;while(1){p:do if(r>>>0<Rc>>>0){n=r;o=0.0;do{q=fc(c[Qc>>2]|0,n)|0;do if(!(c[q+24>>2]|0)){if((c[q+688>>2]|0)!=(t|0))break p;A=+g[q+656+(c[C>>2]<<2)>>2];ec=+O(+A);if(!(A>=0.0&(g[k>>2]=ec,c[k>>2]|0)>>>0<2139095041))break;if(ib?(gc=+g[q+68>>2],ec=+O(+gc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){u=gc;Wa=942}else{f=c[x>>2]|0;u=+g[q+52+(f<<2)>>2];ec=+O(+u);do if((g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040){p=f|2;if((p|0)==3?(ic=+g[q+80>>2],ec=+O(+ic),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){u=ic;break}f=(f|1|0)==5;if(f|(p|0)==2?(jc=+g[q+76>>2],ec=+O(+jc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){u=jc;break}u=+g[q+84>>2];ec=+O(+u);u=(g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):u}while(0);if(ib)Wa=942;else Wa=943}if((Wa|0)==942){Wa=0;v=+g[q+72>>2];ec=+O(+v);if((g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040)Wa=943}do if((Wa|0)==943){Wa=0;f=c[z>>2]|0;v=+g[q+52+(f<<2)>>2];ec=+O(+v);if((g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(kc=+g[q+80>>2],ec=+O(+kc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){v=kc;break}f=(f|1|0)==5;if(f|(p|0)==2?(lc=+g[q+76>>2],ec=+O(+lc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){v=lc;break}v=+g[q+84>>2];ec=+O(+v);v=(g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):v}while(0);o=+uj(o,A+(u+v))}while(0);n=n+1|0}while(n>>>0<Rc>>>0)}else{n=r;o=0.0}while(0);u=B+o;v=m;m=m+u;if(r>>>0<n>>>0)do{q=fc(c[Qc>>2]|0,r)|0;q:do if(!(c[q+24>>2]|0)){f=c[q+20>>2]|0;if(!f)f=c[w>>2]|0;switch(f|0){case 1:{if(ib?(mc=+g[q+68>>2],ec=+O(+mc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0)o=mc;else Wa=958;do if((Wa|0)==958){Wa=0;f=c[x>>2]|0;o=+g[q+52+(f<<2)>>2];ec=+O(+o);if((g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(nc=+g[q+80>>2],ec=+O(+nc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=nc;break}f=(f|1|0)==5;if(f|(p|0)==2?(oc=+g[q+76>>2],ec=+O(+oc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=oc;break}o=+g[q+84>>2];ec=+O(+o);o=(g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);g[q+224+(c[y>>2]<<2)>>2]=v+o;break q}case 3:{if(ib?(pc=+g[q+72>>2],ec=+O(+pc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0)o=pc;else Wa=967;do if((Wa|0)==967){Wa=0;f=c[z>>2]|0;o=+g[q+52+(f<<2)>>2];ec=+O(+o);if((g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(qc=+g[q+80>>2],ec=+O(+qc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=qc;break}f=(f|1|0)==5;if(f|(p|0)==2?(rc=+g[q+76>>2],ec=+O(+rc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=rc;break}o=+g[q+84>>2];ec=+O(+o);o=(g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);g[q+224+(c[y>>2]<<2)>>2]=m-o-+g[q+656+(c[C>>2]<<2)>>2];break q}case 2:{g[q+224+(c[y>>2]<<2)>>2]=v+(u-+g[q+656+(c[C>>2]<<2)>>2])*.5;break q}case 4:{if(ib?(sc=+g[q+68>>2],ec=+O(+sc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0)o=sc;else Wa=977;do if((Wa|0)==977){Wa=0;f=c[x>>2]|0;o=+g[q+52+(f<<2)>>2];ec=+O(+o);if((g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040)break;p=f|2;if((p|0)==3?(tc=+g[q+80>>2],ec=+O(+tc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=tc;break}f=(f|1|0)==5;if(f|(p|0)==2?(uc=+g[q+76>>2],ec=+O(+uc),(g[k>>2]=ec,c[k>>2]|0)>>>0<=2139095040):0){o=uc;break}o=+g[q+84>>2];ec=+O(+o);o=(g[k>>2]=ec,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):o}while(0);g[q+224+(c[y>>2]<<2)>>2]=v+o;break q}default:break q}}while(0);r=r+1|0}while((r|0)!=(n|0));t=t+1|0;if((t|0)==(D|0))break;else r=n}}while(0);ha=b+656|0;g[ha>>2]=+xd(b,2,T);fa=b+660|0;g[fa>>2]=+xd(b,0,R);switch($a|0){case 0:{uc=+xd(b,wc,F);g[b+656+(c[884+(wc<<2)>>2]<<2)>>2]=uc;break}case 2:{u=V+E;switch(jb|0){case 1:{m=+g[Xa>>2];o=+g[Ya>>2];break}case 3:{m=+g[Za>>2];o=+g[_a>>2];break}default:{m=s;o=s}}uc=+O(+m);m=m<F&(m>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041)?m:F;uc=+O(+o);uc=+uj(+vj(u,o>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041&m<o?o:m),V);g[b+656+(c[884+(wc<<2)>>2]<<2)>>2]=uc;break}default:{}}switch(ab|0){case 0:{uc=+xd(b,vc,U+G);g[b+656+(c[884+(vc<<2)>>2]<<2)>>2]=uc;break}case 2:{v=U+Q;u=U+G;switch(kb|0){case 1:{m=+g[Xa>>2];o=+g[Ya>>2];break}case 3:{m=+g[Za>>2];o=+g[_a>>2];break}default:{m=s;o=s}}uc=+O(+m);m=m<u&(m>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041)?m:u;uc=+O(+o);uc=+uj(+vj(v,o>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041&m<o?o:m),U);g[b+656+(c[884+(vc<<2)>>2]<<2)>>2]=uc;break}default:{}}if(!l){i=Sc;return}if(Ua|0){$=yc?3:2;y=(h|0)!=0;z=b+180|0;C=b+188|0;D=b+184|0;M=b+192|0;S=b+164|0;X=b+172|0;Y=b+176|0;Z=b+160|0;_=b+168|0;x=Ua;do{n=c[xc>>2]|0;r:do if(yc){switch(n|0){case 2:{n=3;f=3;w=0;break r}case 3:break;default:{Wa=1004;break r}}n=2;f=3;w=0}else Wa=1004;while(0);if((Wa|0)==1004){w=n|1;f=w;w=(w|0)==1?$:0}t=(f|0)==3;u=+g[x+196>>2];uc=+O(+u);do if(u>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041){m=+g[x+68>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+52>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+76>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+84>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+g[x+72>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+60>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+76>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+84>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);m=u+(m+o)}else{o=+g[x+104>>2];uc=+O(+o);f=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;do if(f){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}else m=o;while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+88>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041){m=s;break}}m=+g[x+108>>2];uc=+O(+m);p=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;do if(p){u=+g[x+112>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+120>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:u}else u=m;while(0);uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+96>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+112>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+120>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:u}while(0);uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041){m=s;break}}A=+g[ha>>2];u=+g[Y>>2];uc=+O(+u);if(!(u>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[Z>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[D>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[M>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u}while(0);u=+uj(u,0.0)}v=+g[z>>2];uc=+O(+v);if(!(v>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){v=+g[_>>2];uc=+O(+v);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){v=+g[D>>2];uc=+O(+v);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;v=+g[M>>2];uc=+O(+v);v=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);v=+uj(v,0.0)}u=A-(u+v);do if(f){o=+g[x+112>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}while(0);uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+88>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+112>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}while(0);uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}do if(p){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+96>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}m=+xd(x,2,u-(o+m))}while(0);v=+g[x+200>>2];uc=+O(+v);do if(v>=0.0&(g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041){o=+g[x+56>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+80>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+84>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);u=+g[x+64>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+80>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+84>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u}while(0);o=v+(o+u)}else{u=+g[x+92>>2];uc=+O(+u);f=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;do if(f){o=+g[x+116>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}else o=u;while(0);uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041){o=s;break}o=+g[x+100>>2];uc=+O(+o);p=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;do if(p){v=+g[x+116>>2];uc=+O(+v);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;v=+g[x+120>>2];uc=+O(+v);v=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:v}else v=o;while(0);uc=+O(+v);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041){o=s;break}B=+g[fa>>2];v=+g[S>>2];uc=+O(+v);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){v=+g[C>>2];uc=+O(+v);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;v=+g[M>>2];uc=+O(+v);v=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);A=+uj(v,0.0);v=+g[X>>2];uc=+O(+v);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){v=+g[C>>2];uc=+O(+v);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;v=+g[M>>2];uc=+O(+v);v=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:v}while(0);v=B-(A+ +uj(v,0.0));do if(f){u=+g[x+116>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+120>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:u}while(0);uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u;do if(p){o=+g[x+116>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}while(0);uc=+O(+o);o=+xd(x,0,v-(u+((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o)))}while(0);uc=+O(+m);f=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;uc=+O(+o);p=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;do if(f^p){u=+g[x+220>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040)break;if(f){A=o*u;m=+g[x+128>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+152>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+156>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);u=+uj(m,0.0);m=+g[x+164>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+188>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+192>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);v=u+ +uj(m,0.0);m=+g[x+136>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+152>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+156>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);u=+uj(m,0.0);m=+g[x+172>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+188>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+192>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);m=+uj(A,v+(u+ +uj(m,0.0)));break}if(!p)break;A=m/u;o=+g[x+140>>2];uc=+O(+o);if(!(o>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+124>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+148>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+156>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}u=+g[x+176>>2];uc=+O(+u);if(!(u>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+160>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+184>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+192>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u}while(0);u=+uj(u,0.0)}v=o+u;o=+g[x+144>>2];uc=+O(+o);if(!(o>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+132>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+148>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+156>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);o=+uj(o,0.0)}u=+g[x+180>>2];uc=+O(+u);if(!(u>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+168>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+184>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+192>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u}while(0);u=+uj(u,0.0)}o=+uj(A,v+(o+u))}while(0);uc=+O(+m);p=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040;uc=+O(+o);q=(g[k>>2]=uc,c[k>>2]|0);if(p|q>>>0>2139095040){f=p&1^1;if(!t){h=y&p;m=h?W:m;f=h?2:f}vd(x,m,o,zc,f,q>>>0<2139095041&1,0,4012)|0;u=+g[x+656>>2];m=+g[x+68>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+52>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+76>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+84>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m}while(0);o=+g[x+72>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+60>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+76>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+84>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);m=u+(m+o);v=+g[x+660>>2];o=+g[x+56>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+80>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+84>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:o}while(0);u=+g[x+64>>2];uc=+O(+u);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){u=+g[x+80>>2];uc=+O(+u);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;u=+g[x+84>>2];uc=+O(+u);u=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:u}while(0);o=v+(o+u)}vd(x,m,o,zc,1,1,1,4024)|0;if(t){m=+g[x+108>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)Wa=1156;else Wa=1148}else Wa=1148;do if((Wa|0)==1148){Wa=0;p=c[868+(n<<2)>>2]|0;m=+g[x+88+(p<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){f=p|2;if((f|0)==3?(Ac=+g[x+116>>2],uc=+O(+Ac),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Ac;break}if((p|1|0)==5|(f|0)==2?(Bc=+g[x+112>>2],uc=+O(+Bc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Bc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041)break;if(t)Wa=1156;else Wa=1160}while(0);if((Wa|0)==1156){Wa=0;m=+g[x+104>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040)Wa=1160}do if((Wa|0)==1160){r=c[852+(n<<2)>>2]|0;m=+g[x+88+(r<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){f=r|2;if((f|0)==3?(Cc=+g[x+116>>2],uc=+O(+Cc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Cc;break}if((r|1|0)==5|(f|0)==2?(Dc=+g[x+112>>2],uc=+O(+Dc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Dc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041)break;h=c[884+(n<<2)>>2]|0;o=+g[b+656+(h<<2)>>2]-+g[x+656+(h<<2)>>2];do if(t){m=+g[z>>2];uc=+O(+m);if(!(m>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){Wa=1170;break}m=o-m;Wa=1177}else Wa=1170;while(0);if((Wa|0)==1170){q=c[868+(n<<2)>>2]|0;m=+g[b+160+(q<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){f=q|2;if((f|0)==3?(Ec=+g[C>>2],uc=+O(+Ec),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Ec;break}p=(q|1|0)==5;if(p|(f|0)==2?(Fc=+g[D>>2],uc=+O(+Fc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Fc;break}m=+g[M>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?(p?s:0.0):m}while(0);m=o-+uj(m,0.0);if(t)Wa=1177;else{f=q;u=m;Wa=1182}}do if((Wa|0)==1177){Wa=0;o=+g[x+108>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+112>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}while(0);uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;f=c[868+(n<<2)>>2]|0;u=m;Wa=1182}while(0);if((Wa|0)==1182){m=+g[x+88+(f<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(Gc=+g[x+116>>2],uc=+O(+Gc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Gc;break}if((f|1|0)==5|(n|0)==2?(Hc=+g[x+112>>2],uc=+O(+Hc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Hc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m;m=u}g[x+224+(r<<2)>>2]=m-o}while(0);q=(w|1|0)==3;if(q){m=+g[x+108>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)Wa=1203;else Wa=1195}else Wa=1195;do if((Wa|0)==1195){Wa=0;f=c[868+(w<<2)>>2]|0;m=+g[x+88+(f<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(Ic=+g[x+116>>2],uc=+O(+Ic),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Ic;break}if((f|1|0)==5|(n|0)==2?(Jc=+g[x+112>>2],uc=+O(+Jc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Jc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>=2139095041)break;if(q)Wa=1203;else Wa=1207}while(0);if((Wa|0)==1203){Wa=0;m=+g[x+104>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){m=+g[x+112>>2];uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040)Wa=1207}do if((Wa|0)==1207){Wa=0;r=c[852+(w<<2)>>2]|0;m=+g[x+88+(r<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){n=r|2;if((n|0)==3?(Kc=+g[x+116>>2],uc=+O(+Kc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Kc;break}if((r|1|0)==5|(n|0)==2?(Lc=+g[x+112>>2],uc=+O(+Lc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Lc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);if((g[k>>2]=uc,c[k>>2]|0)>>>0<2139095041)break;h=c[884+(w<<2)>>2]|0;o=+g[b+656+(h<<2)>>2]-+g[x+656+(h<<2)>>2];do if(q){m=+g[z>>2];uc=+O(+m);if(!(m>=0.0)|(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){Wa=1217;break}m=o-m;Wa=1224}else Wa=1217;while(0);if((Wa|0)==1217){p=c[868+(w<<2)>>2]|0;m=+g[b+160+(p<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){n=p|2;if((n|0)==3?(Mc=+g[C>>2],uc=+O(+Mc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Mc;break}f=(p|1|0)==5;if(f|(n|0)==2?(Nc=+g[D>>2],uc=+O(+Nc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Nc;break}m=+g[M>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):m}while(0);m=o-+uj(m,0.0);if(q)Wa=1224;else{f=p;u=m;Wa=1229}}do if((Wa|0)==1224){Wa=0;o=+g[x+108>>2];uc=+O(+o);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){o=+g[x+112>>2];uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;o=+g[x+120>>2];uc=+O(+o);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:o}while(0);uc=+O(+o);if((g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040)break;f=c[868+(w<<2)>>2]|0;u=m;Wa=1229}while(0);if((Wa|0)==1229){Wa=0;m=+g[x+88+(f<<2)>>2];uc=+O(+m);do if((g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040){n=f|2;if((n|0)==3?(Oc=+g[x+116>>2],uc=+O(+Oc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Oc;break}if((f|1|0)==5|(n|0)==2?(Pc=+g[x+112>>2],uc=+O(+Pc),(g[k>>2]=uc,c[k>>2]|0)>>>0<=2139095040):0){m=Pc;break}m=+g[x+120>>2];uc=+O(+m);m=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?s:m}while(0);uc=+O(+m);o=(g[k>>2]=uc,c[k>>2]|0)>>>0>2139095040?0.0:m;m=u}g[x+224+(r<<2)>>2]=m-o}while(0);x=c[x+708>>2]|0}while((x|0)!=0)}n=(wc|2|0)==3;w=(vc|2|0)==3;if(!(n|w)){i=Sc;return}x=884+(vc<<2)|0;y=852+(vc<<2)|0;z=868+(vc<<2)|0;if(n){r=c[884+(wc<<2)>>2]|0;t=c[852+(wc<<2)>>2]|0;n=c[868+(wc<<2)>>2]|0;f=b+656+(r<<2)|0;q=0;do{p=fc(c[Qc>>2]|0,q)|0;g[p+224+(n<<2)>>2]=+g[f>>2]-+g[p+656+(r<<2)>>2]-+g[p+224+(t<<2)>>2];if(w){zc=c[x>>2]|0;g[p+224+(c[z>>2]<<2)>>2]=+g[b+656+(zc<<2)>>2]-+g[p+656+(zc<<2)>>2]-+g[p+224+(c[y>>2]<<2)>>2]}q=q+1|0}while((q|0)!=(Rc|0));i=Sc;return}if(!w){n=0;do n=n+1|0;while((n|0)!=(Rc|0));i=Sc;return}r=c[x>>2]|0;q=c[y>>2]|0;p=c[z>>2]|0;n=b+656+(r<<2)|0;f=0;do{b=fc(c[Qc>>2]|0,f)|0;g[b+224+(p<<2)>>2]=+g[n>>2]-+g[b+656+(r<<2)>>2]-+g[b+224+(q<<2)>>2];f=f+1|0}while((f|0)!=(Rc|0));i=Sc;return}else if((Wa|0)==346){c[sa>>2]=2509;hc(0,2081,sa);cb()}else if((Wa|0)==365){c[ta>>2]=2509;hc(0,2081,ta);cb()}else if((Wa|0)==495){c[ua>>2]=2509;hc(0,2081,ua);cb()}else if((Wa|0)==514){c[va>>2]=2509;hc(0,2081,va);cb()}}function xd(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,f=0,h=0,j=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0.0;A=i;i=i+16|0;x=A+8|0;r=A;f=b|1;switch(f|0){case 1:{l=+g[a+216>>2];n=+g[a+208>>2];break}case 3:{l=+g[a+212>>2];n=+g[a+204>>2];break}default:{l=s;n=s}}B=+O(+l);l=l<d&(l>=0.0&(g[k>>2]=B,c[k>>2]|0)>>>0<2139095041)?l:d;B=+O(+n);d=n>=0.0&(g[k>>2]=B,c[k>>2]|0)>>>0<2139095041&l<n?n:l;v=(f|0)==3;if(v?(e=+g[a+140>>2],B=+O(+e),!(!(e>=0.0)|(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040)):0)q=13;else{m=c[852+(b<<2)>>2]|0;e=+g[a+124+(m<<2)>>2];B=+O(+e);do if((g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){f=m|2;if((f|0)==3?(o=+g[a+152>>2],B=+O(+o),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=o;break}h=(m|1|0)==5;if(h|(f|0)==2?(p=+g[a+148>>2],B=+O(+p),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=p;break}e=+g[a+156>>2];B=+O(+e);e=(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040?(h?s:0.0):e}while(0);e=+uj(e,0.0);if(v)q=13;else{l=e;f=m;q=16}}do if((q|0)==13){l=+g[a+176>>2];B=+O(+l);if(!(l>=0.0)|(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){l=e;f=c[852+(b<<2)>>2]|0;q=16;break}else{e=e+l;q=25;break}}while(0);if((q|0)==16){if(f>>>0>=6){c[r>>2]=2509;hc(0,2081,r);cb()}e=+g[a+160+(f<<2)>>2];B=+O(+e);do if((g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){h=f|2;if((h|0)==3?(t=+g[a+188>>2],B=+O(+t),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=t;break}f=(f|1|0)==5;if(f|(h|0)==2?(u=+g[a+184>>2],B=+O(+u),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=u;break}e=+g[a+192>>2];B=+O(+e);e=(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):e}while(0);e=l+ +uj(e,0.0);if(v)q=25;else q=26}if((q|0)==25){l=+g[a+144>>2];B=+O(+l);if(!(l>=0.0)|(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040)q=26;else{j=l;l=e;q=33}}if((q|0)==26){f=c[868+(b<<2)>>2]|0;l=+g[a+124+(f<<2)>>2];B=+O(+l);do if((g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){h=f|2;if((h|0)==3?(w=+g[a+152>>2],B=+O(+w),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){j=w;break}m=(f|1|0)==5;if(m|(h|0)==2?(j=+g[a+148>>2],B=+O(+j),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0)break;j=+g[a+156>>2];B=+O(+j);j=(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040?(m?s:0.0):j}else j=l;while(0);j=+uj(j,0.0);if(v){l=e;q=33}else l=e}do if((q|0)==33){e=+g[a+180>>2];B=+O(+e);if(!(e>=0.0)|(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){f=c[868+(b<<2)>>2]|0;break}else{B=e;y=j;z=l;B=y+B;B=z+B;B=+uj(d,B);i=A;return +B}}while(0);if(f>>>0>=6){c[x>>2]=2509;hc(0,2081,x);cb()}e=+g[a+160+(f<<2)>>2];B=+O(+e);do if((g[k>>2]=B,c[k>>2]|0)>>>0>2139095040){h=f|2;if((h|0)==3?(y=+g[a+188>>2],B=+O(+y),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=y;break}f=(f|1|0)==5;if(f|(h|0)==2?(z=+g[a+184>>2],B=+O(+z),(g[k>>2]=B,c[k>>2]|0)>>>0<=2139095040):0){e=z;break}e=+g[a+192>>2];B=+O(+e);e=(g[k>>2]=B,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):e}while(0);B=+uj(e,0.0);y=j;z=l;B=y+B;B=z+B;B=+uj(d,B);i=A;return +B}function yd(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;e=c[a+4>>2]|0;b=(b|0)==2;a:do if(b){switch(e|0){case 2:{e=3;A=6;break a}case 3:break;default:{A=4;break a}}e=2;A=6}else A=4;while(0);b:do if((A|0)==4){switch(e|1|0){case 3:{A=6;break b}case 1:break;default:{i=e;j=0;f=0;A=10;break b}}i=e;j=0;f=b?3:2;A=10}while(0);if((A|0)==6){d=+g[a+104>>2];h=+O(+d);if((g[k>>2]=h,c[k>>2]|0)>>>0>2139095040){h=+g[a+112>>2];M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){h=+g[a+120>>2];M=+O(+h);h=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:h}}else h=d;M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){i=e;j=1;f=0;A=10}else{b=0;A=19}}do if((A|0)==10){e=c[852+(i<<2)>>2]|0;d=+g[a+88+(e<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(l=+g[a+116>>2],M=+O(+l),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){h=l;break}if((e|1|0)==5|(b|0)==2?(m=+g[a+112>>2],M=+O(+m),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){h=m;break}h=+g[a+120>>2];M=+O(+h);h=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:h}else h=d;while(0);M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0<2139095041){if(!j){j=0;A=24;break}e=i;b=f;d=+g[a+104>>2];A=19;break}if(j){d=+g[a+108>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+112>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}}M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040)A=36}else A=36;if((A|0)==36){e=c[868+(i<<2)>>2]|0;d=+g[a+88+(e<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(n=+g[a+116>>2],M=+O(+n),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=n;break}if((e|1|0)==5|(b|0)==2?(o=+g[a+112>>2],M=+O(+o),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=o;break}d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}while(0);M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?0.0:d}v=f;l=-d}while(0);if((A|0)==19){M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+112>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}}M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){A=c[852+(e<<2)>>2]|0;i=e;f=b;j=1;d=+g[a+88+(A<<2)>>2];e=A;A=24}else{i=e;v=b;l=d;j=1}}if((A|0)==24){M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(p=+g[a+116>>2],M=+O(+p),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=p;break}if((e|1|0)==5|(b|0)==2?(q=+g[a+112>>2],M=+O(+q),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=q;break}d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}while(0);M=+O(+d);v=f;l=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?0.0:d}r=(v|1|0)==3;if(r){d=+g[a+104>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){h=+g[a+112>>2];M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){h=+g[a+120>>2];M=+O(+h);h=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:h}}else h=d;M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040)A=58;else A=49}else A=49;do if((A|0)==49){e=c[852+(v<<2)>>2]|0;d=+g[a+88+(e<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(t=+g[a+116>>2],M=+O(+t),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){h=t;break}if((e|1|0)==5|(b|0)==2?(u=+g[a+112>>2],M=+O(+u),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){h=u;break}h=+g[a+120>>2];M=+O(+h);h=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:h}else h=d;while(0);M=+O(+h);if((g[k>>2]=M,c[k>>2]|0)>>>0<2139095041){if(!r){A=63;break}d=+g[a+104>>2];A=58;break}if(r){d=+g[a+108>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+112>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}}M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040)A=75}else A=75;if((A|0)==75){e=c[868+(v<<2)>>2]|0;d=+g[a+88+(e<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(y=+g[a+116>>2],M=+O(+y),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=y;break}if((e|1|0)==5|(b|0)==2?(z=+g[a+112>>2],M=+O(+z),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=z;break}d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}while(0);M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?0.0:d}h=-d}while(0);if((A|0)==58){M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+112>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}}M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){e=c[852+(v<<2)>>2]|0;d=+g[a+88+(e<<2)>>2];A=63}else h=d}if((A|0)==63){M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=e|2;if((b|0)==3?(w=+g[a+116>>2],M=+O(+w),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=w;break}if((e|1|0)==5|(b|0)==2?(x=+g[a+112>>2],M=+O(+x),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=x;break}d=+g[a+120>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?s:d}while(0);M=+O(+d);h=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?0.0:d}if(j?(B=+g[a+68>>2],M=+O(+B),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){g[a+224+(c[852+(i<<2)>>2]<<2)>>2]=l+B;A=93}else{f=c[852+(i<<2)>>2]|0;d=+g[a+52+(f<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=f|2;if((b|0)==3?(C=+g[a+80>>2],M=+O(+C),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=C;break}e=(f|1|0)==5;if(e|(b|0)==2?(D=+g[a+76>>2],M=+O(+D),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=D;break}d=+g[a+84>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d}while(0);g[a+224+(f<<2)>>2]=l+d;if(j)A=93;else A=95}if((A|0)==93){d=+g[a+72>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040)A=95;else b=c[868+(i<<2)>>2]|0}do if((A|0)==95){b=c[868+(i<<2)>>2]|0;d=+g[a+52+(b<<2)>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){e=b|2;if((e|0)==3?(E=+g[a+80>>2],M=+O(+E),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=E;break}f=(b|1|0)==5;if(f|(e|0)==2?(F=+g[a+76>>2],M=+O(+F),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=F;break}d=+g[a+84>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?(f?s:0.0):d}}while(0);g[a+224+(b<<2)>>2]=l+d;if(r?(G=+g[a+68>>2],M=+O(+G),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){g[a+224+(c[852+(v<<2)>>2]<<2)>>2]=h+G;A=111}else{f=c[852+(v<<2)>>2]|0;d=+g[a+52+(f<<2)>>2];M=+O(+d);do if((g[k>>2]=M,c[k>>2]|0)>>>0>2139095040){b=f|2;if((b|0)==3?(H=+g[a+80>>2],M=+O(+H),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=H;break}e=(f|1|0)==5;if(e|(b|0)==2?(I=+g[a+76>>2],M=+O(+I),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){d=I;break}d=+g[a+84>>2];M=+O(+d);d=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d}while(0);g[a+224+(f<<2)>>2]=h+d;if(r)A=111}if((A|0)==111?(J=+g[a+72>>2],M=+O(+J),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){M=J;A=c[868+(v<<2)>>2]|0;M=h+M;a=a+224+(A<<2)|0;g[a>>2]=M;return}f=c[868+(v<<2)>>2]|0;d=+g[a+52+(f<<2)>>2];M=+O(+d);if((g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040){M=d;A=f;M=h+M;a=a+224+(A<<2)|0;g[a>>2]=M;return}b=f|2;if((b|0)==3?(K=+g[a+80>>2],M=+O(+K),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){M=K;A=f;M=h+M;a=a+224+(A<<2)|0;g[a>>2]=M;return}e=(f|1|0)==5;if(e|(b|0)==2?(L=+g[a+76>>2],M=+O(+L),(g[k>>2]=M,c[k>>2]|0)>>>0<=2139095040):0){M=L;A=f;M=h+M;a=a+224+(A<<2)|0;g[a>>2]=M;return}d=+g[a+84>>2];M=+O(+d);M=(g[k>>2]=M,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d;A=f;M=h+M;a=a+224+(A<<2)|0;g[a>>2]=M;return}function zd(b,d,e,f){b=b|0;d=+d;e=+e;f=f|0;var h=0.0,i=0,j=0.0,l=0.0,m=0;c[2097]=(c[2097]|0)+1;l=+O(+d);do if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){j=+g[b+196>>2];l=+O(+j);if(!(j>=0.0&(g[k>>2]=l,c[k>>2]|0)>>>0<2139095041)){h=+g[b+212>>2];if(!(h>=0.0)){h=d;m=0;break}m=2;break}h=+g[b+68>>2];l=+O(+h);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){h=+g[b+52>>2];l=+O(+h);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){h=+g[b+76>>2];l=+O(+h);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){h=+g[b+84>>2];l=+O(+h);h=(g[k>>2]=l,c[k>>2]|0)>>>0>2139095040?0.0:h}}}d=+g[b+72>>2];l=+O(+d);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){d=+g[b+60>>2];l=+O(+d);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){d=+g[b+76>>2];l=+O(+d);if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){d=+g[b+84>>2];l=+O(+d);d=(g[k>>2]=l,c[k>>2]|0)>>>0>2139095040?0.0:d}}}h=j+(h+d);m=1}else{h=d;m=1}while(0);l=+O(+e);do if((g[k>>2]=l,c[k>>2]|0)>>>0>2139095040){l=+g[b+200>>2];j=+O(+l);if(!(l>=0.0&(g[k>>2]=j,c[k>>2]|0)>>>0<2139095041)){d=+g[b+216>>2];if(!(d>=0.0)){d=e;i=0;break}i=2;break}d=+g[b+56>>2];e=+O(+d);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){d=+g[b+80>>2];e=+O(+d);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){d=+g[b+84>>2];e=+O(+d);d=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:d}}j=+g[b+64>>2];e=+O(+j);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){j=+g[b+80>>2];e=+O(+j);if((g[k>>2]=e,c[k>>2]|0)>>>0>2139095040){j=+g[b+84>>2];e=+O(+j);j=(g[k>>2]=e,c[k>>2]|0)>>>0>2139095040?0.0:j}}d=l+(d+j);i=1}else{d=e;i=1}while(0);if(!(vd(b,h,d,f,m,i,1,4098)|0))return;yd(b,c[b+248>>2]|0);if(a[10552]|0)Ad(b);if(!(a[10548]|0))return;td(b,7,0);return}function Ad(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0,i=0.0,j=0.0,k=0.0;d=a+224|0;f=+g[d>>2];j=f-+N(+f);b=a+228|0;e=+g[b>>2];i=e-+N(+e);h=a+240|0;k=+lk(+(j+ +g[h>>2]));g[h>>2]=k-+lk(+j);h=a+244|0;j=+lk(+(i+ +g[h>>2]));g[h>>2]=j-+lk(+i);g[d>>2]=+lk(+f);g[b>>2]=+lk(+e);a=a+700|0;b=cc(c[a>>2]|0)|0;if(!b)return;else d=0;do{Ad(fc(c[a>>2]|0,d)|0);d=d+1|0}while((d|0)!=(b|0));return}function Bd(b){b=b|0;return (a[10552+b>>0]|0)!=0|0}function Cd(b,c){b=b|0;c=c|0;a[10552+b>>0]=c&1;return}function Dd(){var a=0,b=0;a=gk(8)|0;b=gc()|0;c[a>>2]=b;c[a+4>>2]=0;zc(b,a);return a|0}function Ed(a){a=a|0;var b=0,d=0;if(!a)return;jc(c[a>>2]|0);d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0)nb(d|0);Qj(b)}Qj(a);return}function Fd(a){a=a|0;var b=0;jc(c[a>>2]|0);b=a+4|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0)nb(b|0);Qj(a);return}function Gd(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=0;if(b|0){d=c[b>>2]|0;if(d|0)nb(d|0);Qj(b)}nc(c[a>>2]|0);return}function Hd(a,b){a=a|0;b=b|0;uc(c[a>>2]|0,c[b>>2]|0);return}function Id(a,b){a=a|0;b=b|0;Lc(c[a>>2]|0,b);return}function Jd(a,b,d){a=a|0;b=b|0;d=+d;Tc(c[a>>2]|0,b,d);return}function Kd(a,b){a=a|0;b=b|0;Fc(c[a>>2]|0,b);return}function Ld(a,b){a=a|0;b=b|0;Hc(c[a>>2]|0,b);return}function Md(a,b){a=a|0;b=b|0;Jc(c[a>>2]|0,b);return}function Nd(a,b){a=a|0;b=b|0;Bc(c[a>>2]|0,b);return}function Od(a,b){a=a|0;b=b|0;Nc(c[a>>2]|0,b);return}function Pd(a,b){a=a|0;b=b|0;Dc(c[a>>2]|0,b);return}function Qd(a,b,d){a=a|0;b=b|0;d=+d;Vc(c[a>>2]|0,b,d);return}function Rd(a,b){a=a|0;b=b|0;Pc(c[a>>2]|0,b);return}function Sd(a,b){a=a|0;b=+b;yc(c[a>>2]|0,b);return}function Td(a,b){a=a|0;b=+b;Sc(c[a>>2]|0,b);return}function Ud(a,b){a=a|0;b=+b;Qc(c[a>>2]|0,b);return}function Vd(a,b){a=a|0;b=+b;Rc(c[a>>2]|0,b);return}function Wd(a,b){a=a|0;b=+b;$c(c[a>>2]|0,b);return}function Xd(a,b){a=a|0;b=+b;bd(c[a>>2]|0,b);return}function Yd(a,b){a=a|0;b=+b;dd(c[a>>2]|0,b);return}function Zd(a,b){a=a|0;b=+b;fd(c[a>>2]|0,b);return}function _d(a,b){a=a|0;b=+b;hd(c[a>>2]|0,b);return}function $d(a,b){a=a|0;b=+b;jd(c[a>>2]|0,b);return}function ae(a,b){a=a|0;b=+b;ld(c[a>>2]|0,b);return}function be(a,b,d){a=a|0;b=b|0;d=+d;Zc(c[a>>2]|0,b,d);return}function ce(a,b,d){a=a|0;b=b|0;d=+d;Xc(c[a>>2]|0,b,d);return}function de(a){a=a|0;return Mc(c[a>>2]|0)|0}function ee(a,b){a=a|0;b=b|0;return +(+Uc(c[a>>2]|0,b))}function fe(a){a=a|0;return Gc(c[a>>2]|0)|0}function ge(a){a=a|0;return Ic(c[a>>2]|0)|0}function he(a){a=a|0;return Kc(c[a>>2]|0)|0}function ie(a){a=a|0;return Cc(c[a>>2]|0)|0}function je(a){a=a|0;return Oc(c[a>>2]|0)|0}function ke(a){a=a|0;return Ec(c[a>>2]|0)|0}function le(a,b){a=a|0;b=b|0;return +(+Wc(c[a>>2]|0,b))}function me(a){a=a|0;return +(+xc(c[a>>2]|0))}function ne(a){a=a|0;return +(+vc(c[a>>2]|0))}function oe(a){a=a|0;return +(+wc(c[a>>2]|0))}function pe(a){a=a|0;return +(+ad(c[a>>2]|0))}function qe(a){a=a|0;return +(+cd(c[a>>2]|0))}function re(a){a=a|0;return +(+ed(c[a>>2]|0))}function se(a){a=a|0;return +(+gd(c[a>>2]|0))}function te(a){a=a|0;return +(+id(c[a>>2]|0))}function ue(a){a=a|0;return +(+kd(c[a>>2]|0))}function ve(a){a=a|0;return +(+md(c[a>>2]|0))}function we(a,b){a=a|0;b=b|0;return +(+_c(c[a>>2]|0,b))}function xe(a,b){a=a|0;b=b|0;return +(+Yc(c[a>>2]|0,b))}function ye(a,b,d){a=a|0;b=b|0;d=d|0;qc(c[a>>2]|0,c[b>>2]|0,d);return}function ze(a,b){a=a|0;b=b|0;mc(c[a>>2]|0,c[b>>2]|0);return}function Ae(a){a=a|0;return kc(c[a>>2]|0)|0}
function Cj(a){a=a|0;var b=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,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;j=c[2512]|0;b=j>>>a;if(b&3|0){b=(b&1^1)+a|0;d=10088+(b<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2516]|0)>>>0)cb();a=h+12|0;if((c[a>>2]|0)==(f|0)){c[a>>2]=d;c[e>>2]=h;break}else cb()}else c[2512]=j&~(1<<b);while(0);L=b<<3;c[f+4>>2]=L|3;L=f+L+4|0;c[L>>2]=c[L>>2]|1;L=g;return L|0}h=c[2514]|0;if(o>>>0>h>>>0){if(b|0){d=2<<a;d=b<<a&(d|0-d);d=(d&0-d)+-1|0;i=d>>>12&16;d=d>>>i;f=d>>>5&8;d=d>>>f;g=d>>>2&4;d=d>>>g;e=d>>>1&2;d=d>>>e;b=d>>>1&1;b=(f|i|g|e|b)+(d>>>b)|0;d=10088+(b<<1<<2)|0;e=d+8|0;g=c[e>>2]|0;i=g+8|0;f=c[i>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2516]|0)>>>0)cb();a=f+12|0;if((c[a>>2]|0)==(g|0)){c[a>>2]=d;c[e>>2]=f;k=c[2514]|0;break}else cb()}else{c[2512]=j&~(1<<b);k=h}while(0);h=(b<<3)-o|0;c[g+4>>2]=o|3;e=g+o|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(k|0){f=c[2517]|0;b=k>>>3;d=10088+(b<<1<<2)|0;a=c[2512]|0;b=1<<b;if(a&b){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();else{l=a;m=b}}else{c[2512]=a|b;l=d+8|0;m=d}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=d}c[2514]=h;c[2517]=e;L=i;return L|0}a=c[2513]|0;if(a){d=(a&0-a)+-1|0;K=d>>>12&16;d=d>>>K;J=d>>>5&8;d=d>>>J;L=d>>>2&4;d=d>>>L;b=d>>>1&2;d=d>>>b;e=d>>>1&1;e=c[10352+((J|K|L|b|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;b=e;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a){j=e;break}}b=(c[a+4>>2]&-8)-o|0;L=b>>>0<d>>>0;d=L?b:d;b=a;e=L?a:e}g=c[2516]|0;if(j>>>0<g>>>0)cb();i=j+o|0;if(j>>>0>=i>>>0)cb();h=c[j+24>>2]|0;e=c[j+12>>2]|0;do if((e|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){n=0;break}}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;b=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;b=e}}if(b>>>0<g>>>0)cb();else{c[b>>2]=0;n=a;break}}else{f=c[j+8>>2]|0;if(f>>>0<g>>>0)cb();a=f+12|0;if((c[a>>2]|0)!=(j|0))cb();b=e+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=e;c[b>>2]=f;n=e;break}else cb()}while(0);do if(h|0){a=c[j+28>>2]|0;b=10352+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[2513]=c[2513]&~(1<<a);break}}else{if(h>>>0<(c[2516]|0)>>>0)cb();a=h+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=n;else c[h+20>>2]=n;if(!n)break}b=c[2516]|0;if(n>>>0<b>>>0)cb();c[n+24>>2]=h;a=c[j+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)cb();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[2516]|0)>>>0)cb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}while(0);if(d>>>0<16){L=d+o|0;c[j+4>>2]=L|3;L=j+L+4|0;c[L>>2]=c[L>>2]|1}else{c[j+4>>2]=o|3;c[i+4>>2]=d|1;c[i+d>>2]=d;a=c[2514]|0;if(a|0){f=c[2517]|0;b=a>>>3;e=10088+(b<<1<<2)|0;a=c[2512]|0;b=1<<b;if(a&b){a=e+8|0;b=c[a>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();else{p=a;q=b}}else{c[2512]=a|b;p=e+8|0;q=e}c[p>>2]=f;c[q+12>>2]=f;c[f+8>>2]=q;c[f+12>>2]=e}c[2514]=d;c[2517]=i}L=j+8|0;return L|0}}}else if(a>>>0<=4294967231){a=a+11|0;o=a&-8;j=c[2513]|0;if(j){d=0-o|0;a=a>>>8;if(a)if(o>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;E=a<<q;p=(E+520192|0)>>>16&4;E=E<<p;i=(E+245760|0)>>>16&2;i=14-(p|q|i)+(E<<i>>>15)|0;i=o>>>(i+7|0)&1|i<<1}else i=0;b=c[10352+(i<<2)>>2]|0;a:do if(!b){a=0;b=0;E=86}else{f=d;a=0;g=o<<((i|0)==31?0:25-(i>>>1)|0);h=b;b=0;while(1){e=c[h+4>>2]&-8;d=e-o|0;if(d>>>0<f>>>0)if((e|0)==(o|0)){a=h;b=h;E=90;break a}else b=h;else d=f;e=c[h+20>>2]|0;h=c[h+16+(g>>>31<<2)>>2]|0;a=(e|0)==0|(e|0)==(h|0)?a:e;e=(h|0)==0;if(e){E=86;break}else{f=d;g=g<<(e&1^1)}}}while(0);if((E|0)==86){if((a|0)==0&(b|0)==0){a=2<<i;a=j&(a|0-a);if(!a)break;q=(a&0-a)+-1|0;m=q>>>12&16;q=q>>>m;l=q>>>5&8;q=q>>>l;n=q>>>2&4;q=q>>>n;p=q>>>1&2;q=q>>>p;a=q>>>1&1;a=c[10352+((l|m|n|p|a)+(q>>>a)<<2)>>2]|0}if(!a){i=d;j=b}else E=90}if((E|0)==90)while(1){E=0;q=(c[a+4>>2]&-8)-o|0;e=q>>>0<d>>>0;d=e?q:d;b=e?a:b;e=c[a+16>>2]|0;if(e|0){a=e;E=90;continue}a=c[a+20>>2]|0;if(!a){i=d;j=b;break}else E=90}if((j|0)!=0?i>>>0<((c[2514]|0)-o|0)>>>0:0){f=c[2516]|0;if(j>>>0<f>>>0)cb();h=j+o|0;if(j>>>0>=h>>>0)cb();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){s=0;break}}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<f>>>0)cb();else{c[b>>2]=0;s=a;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)cb();a=e+12|0;if((c[a>>2]|0)!=(j|0))cb();b=d+8|0;if((c[b>>2]|0)==(j|0)){c[a>>2]=d;c[b>>2]=e;s=d;break}else cb()}while(0);do if(g|0){a=c[j+28>>2]|0;b=10352+(a<<2)|0;if((j|0)==(c[b>>2]|0)){c[b>>2]=s;if(!s){c[2513]=c[2513]&~(1<<a);break}}else{if(g>>>0<(c[2516]|0)>>>0)cb();a=g+16|0;if((c[a>>2]|0)==(j|0))c[a>>2]=s;else c[g+20>>2]=s;if(!s)break}b=c[2516]|0;if(s>>>0<b>>>0)cb();c[s+24>>2]=g;a=c[j+16>>2]|0;do if(a|0)if(a>>>0<b>>>0)cb();else{c[s+16>>2]=a;c[a+24>>2]=s;break}while(0);a=c[j+20>>2]|0;if(a|0)if(a>>>0<(c[2516]|0)>>>0)cb();else{c[s+20>>2]=a;c[a+24>>2]=s;break}}while(0);do if(i>>>0>=16){c[j+4>>2]=o|3;c[h+4>>2]=i|1;c[h+i>>2]=i;a=i>>>3;if(i>>>0<256){d=10088+(a<<1<<2)|0;b=c[2512]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();else{u=a;v=b}}else{c[2512]=b|a;u=d+8|0;v=d}c[u>>2]=h;c[v+12>>2]=h;c[h+8>>2]=v;c[h+12>>2]=d;break}a=i>>>8;if(a)if(i>>>0>16777215)d=31;else{K=(a+1048320|0)>>>16&8;L=a<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=i>>>(d+7|0)&1|d<<1}else d=0;e=10352+(d<<2)|0;c[h+28>>2]=d;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[2513]|0;b=1<<d;if(!(a&b)){c[2513]=a|b;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}f=i<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(i|0)){d=a;E=148;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=145;break}else{f=f<<1;a=d}}if((E|0)==145)if(b>>>0<(c[2516]|0)>>>0)cb();else{c[b>>2]=h;c[h+24>>2]=a;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((E|0)==148){a=d+8|0;b=c[a>>2]|0;L=c[2516]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=h;c[a>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;c[h+24>>2]=0;break}else cb()}}else{L=i+o|0;c[j+4>>2]=L|3;L=j+L+4|0;c[L>>2]=c[L>>2]|1}while(0);L=j+8|0;return L|0}}}else o=-1;while(0);d=c[2514]|0;if(d>>>0>=o>>>0){a=d-o|0;b=c[2517]|0;if(a>>>0>15){L=b+o|0;c[2517]=L;c[2514]=a;c[L+4>>2]=a|1;c[L+a>>2]=a;c[b+4>>2]=o|3}else{c[2514]=0;c[2517]=0;c[b+4>>2]=d|3;L=b+d+4|0;c[L>>2]=c[L>>2]|1}L=b+8|0;return L|0}a=c[2515]|0;if(a>>>0>o>>>0){J=a-o|0;c[2515]=J;L=c[2518]|0;K=L+o|0;c[2518]=K;c[K+4>>2]=J|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}do if(!(c[2630]|0)){a=$a(30)|0;if(!(a+-1&a)){c[2632]=a;c[2631]=a;c[2633]=-1;c[2634]=-1;c[2635]=0;c[2623]=0;c[2630]=(tb(0)|0)&-16^1431655768;break}else cb()}while(0);h=o+48|0;g=c[2632]|0;i=o+47|0;f=g+i|0;g=0-g|0;j=f&g;if(j>>>0<=o>>>0){L=0;return L|0}a=c[2622]|0;if(a|0?(u=c[2620]|0,v=u+j|0,v>>>0<=u>>>0|v>>>0>a>>>0):0){L=0;return L|0}b:do if(!(c[2623]&4)){a=c[2518]|0;c:do if(a){d=10496;while(1){b=c[d>>2]|0;if(b>>>0<=a>>>0?(r=d+4|0,(b+(c[r>>2]|0)|0)>>>0>a>>>0):0){e=d;d=r;break}d=c[d+8>>2]|0;if(!d){E=173;break c}}a=f-(c[2515]|0)&g;if(a>>>0<2147483647){b=Wa(a|0)|0;if((b|0)==((c[e>>2]|0)+(c[d>>2]|0)|0)){if((b|0)!=(-1|0)){h=b;f=a;E=193;break b}}else E=183}}else E=173;while(0);do if((E|0)==173?(t=Wa(0)|0,(t|0)!=(-1|0)):0){a=t;b=c[2631]|0;d=b+-1|0;if(!(d&a))a=j;else a=j-a+(d+a&0-b)|0;b=c[2620]|0;d=b+a|0;if(a>>>0>o>>>0&a>>>0<2147483647){v=c[2622]|0;if(v|0?d>>>0<=b>>>0|d>>>0>v>>>0:0)break;b=Wa(a|0)|0;if((b|0)==(t|0)){h=t;f=a;E=193;break b}else E=183}}while(0);d:do if((E|0)==183){d=0-a|0;do if(h>>>0>a>>>0&(a>>>0<2147483647&(b|0)!=(-1|0))?(w=c[2632]|0,w=i-a+w&0-w,w>>>0<2147483647):0)if((Wa(w|0)|0)==(-1|0)){Wa(d|0)|0;break d}else{a=w+a|0;break}while(0);if((b|0)!=(-1|0)){h=b;f=a;E=193;break b}}while(0);c[2623]=c[2623]|4;E=190}else E=190;while(0);if((((E|0)==190?j>>>0<2147483647:0)?(x=Wa(j|0)|0,y=Wa(0)|0,x>>>0<y>>>0&((x|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-x|0,z>>>0>(o+40|0)>>>0):0){h=x;f=z;E=193}if((E|0)==193){a=(c[2620]|0)+f|0;c[2620]=a;if(a>>>0>(c[2621]|0)>>>0)c[2621]=a;i=c[2518]|0;do if(i){e=10496;do{a=c[e>>2]|0;b=e+4|0;d=c[b>>2]|0;if((h|0)==(a+d|0)){A=a;B=b;C=d;D=e;E=203;break}e=c[e+8>>2]|0}while((e|0)!=0);if(((E|0)==203?(c[D+12>>2]&8|0)==0:0)?i>>>0<h>>>0&i>>>0>=A>>>0:0){c[B>>2]=C+f;L=i+8|0;L=(L&7|0)==0?0:0-L&7;K=i+L|0;L=f-L+(c[2515]|0)|0;c[2518]=K;c[2515]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[2519]=c[2634];break}a=c[2516]|0;if(h>>>0<a>>>0){c[2516]=h;j=h}else j=a;d=h+f|0;a=10496;while(1){if((c[a>>2]|0)==(d|0)){b=a;E=211;break}a=c[a+8>>2]|0;if(!a){b=10496;break}}if((E|0)==211)if(!(c[a+12>>2]&8)){c[b>>2]=h;l=a+4|0;c[l>>2]=(c[l>>2]|0)+f;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;a=d+8|0;a=d+((a&7|0)==0?0:0-a&7)|0;k=l+o|0;g=a-l-o|0;c[l+4>>2]=o|3;do if((a|0)!=(i|0)){if((a|0)==(c[2517]|0)){L=(c[2514]|0)+g|0;c[2514]=L;c[2517]=k;c[k+4>>2]=L|1;c[k+L>>2]=L;break}b=c[a+4>>2]|0;if((b&3|0)==1){i=b&-8;f=b>>>3;e:do if(b>>>0>=256){h=c[a+24>>2]|0;e=c[a+12>>2]|0;do if((e|0)==(a|0)){d=a+16|0;e=d+4|0;b=c[e>>2]|0;if(!b){b=c[d>>2]|0;if(!b){J=0;break}}else d=e;while(1){e=b+20|0;f=c[e>>2]|0;if(f|0){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<j>>>0)cb();else{c[d>>2]=0;J=b;break}}else{f=c[a+8>>2]|0;if(f>>>0<j>>>0)cb();b=f+12|0;if((c[b>>2]|0)!=(a|0))cb();d=e+8|0;if((c[d>>2]|0)==(a|0)){c[b>>2]=e;c[d>>2]=f;J=e;break}else cb()}while(0);if(!h)break;b=c[a+28>>2]|0;d=10352+(b<<2)|0;do if((a|0)!=(c[d>>2]|0)){if(h>>>0<(c[2516]|0)>>>0)cb();b=h+16|0;if((c[b>>2]|0)==(a|0))c[b>>2]=J;else c[h+20>>2]=J;if(!J)break e}else{c[d>>2]=J;if(J|0)break;c[2513]=c[2513]&~(1<<b);break e}while(0);e=c[2516]|0;if(J>>>0<e>>>0)cb();c[J+24>>2]=h;b=a+16|0;d=c[b>>2]|0;do if(d|0)if(d>>>0<e>>>0)cb();else{c[J+16>>2]=d;c[d+24>>2]=J;break}while(0);b=c[b+4>>2]|0;if(!b)break;if(b>>>0<(c[2516]|0)>>>0)cb();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=10088+(f<<1<<2)|0;do if((d|0)!=(b|0)){if(d>>>0<j>>>0)cb();if((c[d+12>>2]|0)==(a|0))break;cb()}while(0);if((e|0)==(d|0)){c[2512]=c[2512]&~(1<<f);break}do if((e|0)==(b|0))G=e+8|0;else{if(e>>>0<j>>>0)cb();b=e+8|0;if((c[b>>2]|0)==(a|0)){G=b;break}cb()}while(0);c[d+12>>2]=e;c[G>>2]=d}while(0);a=a+i|0;g=i+g|0}a=a+4|0;c[a>>2]=c[a>>2]&-2;c[k+4>>2]=g|1;c[k+g>>2]=g;a=g>>>3;if(g>>>0<256){d=10088+(a<<1<<2)|0;b=c[2512]|0;a=1<<a;do if(!(b&a)){c[2512]=b|a;K=d+8|0;L=d}else{a=d+8|0;b=c[a>>2]|0;if(b>>>0>=(c[2516]|0)>>>0){K=a;L=b;break}cb()}while(0);c[K>>2]=k;c[L+12>>2]=k;c[k+8>>2]=L;c[k+12>>2]=d;break}a=g>>>8;do if(!a)d=0;else{if(g>>>0>16777215){d=31;break}K=(a+1048320|0)>>>16&8;L=a<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}while(0);e=10352+(d<<2)|0;c[k+28>>2]=d;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[2513]|0;b=1<<d;if(!(a&b)){c[2513]=a|b;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;E=281;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=278;break}else{f=f<<1;a=d}}if((E|0)==278)if(b>>>0<(c[2516]|0)>>>0)cb();else{c[b>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((E|0)==281){a=d+8|0;b=c[a>>2]|0;L=c[2516]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=k;c[a>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;c[k+24>>2]=0;break}else cb()}}else{L=(c[2515]|0)+g|0;c[2515]=L;c[2518]=k;c[k+4>>2]=L|1}while(0);L=l+8|0;return L|0}else b=10496;while(1){a=c[b>>2]|0;if(a>>>0<=i>>>0?(F=a+(c[b+4>>2]|0)|0,F>>>0>i>>>0):0){b=F;break}b=c[b+8>>2]|0}g=b+-47|0;d=g+8|0;d=g+((d&7|0)==0?0:0-d&7)|0;g=i+16|0;d=d>>>0<g>>>0?i:d;a=d+8|0;e=h+8|0;e=(e&7|0)==0?0:0-e&7;L=h+e|0;e=f+-40-e|0;c[2518]=L;c[2515]=e;c[L+4>>2]=e|1;c[L+e+4>>2]=40;c[2519]=c[2634];e=d+4|0;c[e>>2]=27;c[a>>2]=c[2624];c[a+4>>2]=c[2625];c[a+8>>2]=c[2626];c[a+12>>2]=c[2627];c[2624]=h;c[2625]=f;c[2627]=0;c[2626]=a;a=d+24|0;do{a=a+4|0;c[a>>2]=7}while((a+4|0)>>>0<b>>>0);if((d|0)!=(i|0)){h=d-i|0;c[e>>2]=c[e>>2]&-2;c[i+4>>2]=h|1;c[d>>2]=h;a=h>>>3;if(h>>>0<256){d=10088+(a<<1<<2)|0;b=c[2512]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();else{H=a;I=b}}else{c[2512]=b|a;H=d+8|0;I=d}c[H>>2]=i;c[I+12>>2]=i;c[i+8>>2]=I;c[i+12>>2]=d;break}a=h>>>8;if(a)if(h>>>0>16777215)d=31;else{K=(a+1048320|0)>>>16&8;L=a<<K;J=(L+520192|0)>>>16&4;L=L<<J;d=(L+245760|0)>>>16&2;d=14-(J|K|d)+(L<<d>>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;f=10352+(d<<2)|0;c[i+28>>2]=d;c[i+20>>2]=0;c[g>>2]=0;a=c[2513]|0;b=1<<d;if(!(a&b)){c[2513]=a|b;c[f>>2]=i;c[i+24>>2]=f;c[i+12>>2]=i;c[i+8>>2]=i;break}e=h<<((d|0)==31?0:25-(d>>>1)|0);a=c[f>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(h|0)){d=a;E=307;break}b=a+16+(e>>>31<<2)|0;d=c[b>>2]|0;if(!d){E=304;break}else{e=e<<1;a=d}}if((E|0)==304)if(b>>>0<(c[2516]|0)>>>0)cb();else{c[b>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((E|0)==307){a=d+8|0;b=c[a>>2]|0;L=c[2516]|0;if(b>>>0>=L>>>0&d>>>0>=L>>>0){c[b+12>>2]=i;c[a>>2]=i;c[i+8>>2]=b;c[i+12>>2]=d;c[i+24>>2]=0;break}else cb()}}}else{L=c[2516]|0;if((L|0)==0|h>>>0<L>>>0)c[2516]=h;c[2624]=h;c[2625]=f;c[2627]=0;c[2521]=c[2630];c[2520]=-1;a=0;do{L=10088+(a<<1<<2)|0;c[L+12>>2]=L;c[L+8>>2]=L;a=a+1|0}while((a|0)!=32);L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=h+L|0;L=f+-40-L|0;c[2518]=K;c[2515]=L;c[K+4>>2]=L|1;c[K+L+4>>2]=40;c[2519]=c[2634]}while(0);a=c[2515]|0;if(a>>>0>o>>>0){J=a-o|0;c[2515]=J;L=c[2518]|0;K=L+o|0;c[2518]=K;c[K+4>>2]=J|1;c[L+4>>2]=o|3;L=L+8|0;return L|0}}c[(Zi()|0)>>2]=12;L=0;return L|0}function Dj(a){a=a|0;var b=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;if(!a)return;d=a+-8|0;h=c[2516]|0;if(d>>>0<h>>>0)cb();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)cb();e=a&-8;m=d+e|0;do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)cb();if((k|0)==(c[2517]|0)){a=m+4|0;b=c[a>>2]|0;if((b&3|0)!=3){q=k;g=j;break}c[2514]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=10088+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)cb();if((c[b+12>>2]|0)!=(k|0))cb()}if((d|0)==(b|0)){c[2512]=c[2512]&~(1<<e);q=k;g=j;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)cb();a=d+8|0;if((c[a>>2]|0)==(k|0))f=a;else cb()}else f=d+8|0;c[b+12>>2]=d;c[f>>2]=b;q=k;g=j;break}f=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){b=k+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){i=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)cb();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)cb();a=e+12|0;if((c[a>>2]|0)!=(k|0))cb();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else cb()}while(0);if(f){a=c[k+28>>2]|0;b=10352+(a<<2)|0;if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[2513]=c[2513]&~(1<<a);q=k;g=j;break}}else{if(f>>>0<(c[2516]|0)>>>0)cb();a=f+16|0;if((c[a>>2]|0)==(k|0))c[a>>2]=i;else c[f+20>>2]=i;if(!i){q=k;g=j;break}}d=c[2516]|0;if(i>>>0<d>>>0)cb();c[i+24>>2]=f;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)cb();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[2516]|0)>>>0)cb();else{c[i+20>>2]=a;c[a+24>>2]=i;q=k;g=j;break}else{q=k;g=j}}else{q=k;g=j}}else{q=d;g=e}while(0);if(q>>>0>=m>>>0)cb();a=m+4|0;b=c[a>>2]|0;if(!(b&1))cb();if(!(b&2)){if((m|0)==(c[2518]|0)){p=(c[2515]|0)+g|0;c[2515]=p;c[2518]=q;c[q+4>>2]=p|1;if((q|0)!=(c[2517]|0))return;c[2517]=0;c[2514]=0;return}if((m|0)==(c[2517]|0)){p=(c[2514]|0)+g|0;c[2514]=p;c[2517]=q;c[q+4>>2]=p|1;c[q+p>>2]=p;return}g=(b&-8)+g|0;e=b>>>3;do if(b>>>0>=256){f=c[m+24>>2]|0;a=c[m+12>>2]|0;do if((a|0)==(m|0)){b=m+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}}else b=d;while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[2516]|0)>>>0)cb();else{c[b>>2]=0;n=a;break}}else{b=c[m+8>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();d=b+12|0;if((c[d>>2]|0)!=(m|0))cb();e=a+8|0;if((c[e>>2]|0)==(m|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else cb()}while(0);if(f|0){a=c[m+28>>2]|0;b=10352+(a<<2)|0;if((m|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[2513]=c[2513]&~(1<<a);break}}else{if(f>>>0<(c[2516]|0)>>>0)cb();a=f+16|0;if((c[a>>2]|0)==(m|0))c[a>>2]=n;else c[f+20>>2]=n;if(!n)break}d=c[2516]|0;if(n>>>0<d>>>0)cb();c[n+24>>2]=f;a=m+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)cb();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[2516]|0)>>>0)cb();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[m+8>>2]|0;d=c[m+12>>2]|0;a=10088+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[2516]|0)>>>0)cb();if((c[b+12>>2]|0)!=(m|0))cb()}if((d|0)==(b|0)){c[2512]=c[2512]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[2516]|0)>>>0)cb();a=d+8|0;if((c[a>>2]|0)==(m|0))l=a;else cb()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[q+4>>2]=g|1;c[q+g>>2]=g;if((q|0)==(c[2517]|0)){c[2514]=g;return}}else{c[a>>2]=b&-2;c[q+4>>2]=g|1;c[q+g>>2]=g}a=g>>>3;if(g>>>0<256){d=10088+(a<<1<<2)|0;b=c[2512]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[2516]|0)>>>0)cb();else{o=a;p=b}}else{c[2512]=b|a;o=d+8|0;p=d}c[o>>2]=q;c[p+12>>2]=q;c[q+8>>2]=p;c[q+12>>2]=d;return}a=g>>>8;if(a)if(g>>>0>16777215)d=31;else{o=(a+1048320|0)>>>16&8;p=a<<o;n=(p+520192|0)>>>16&4;p=p<<n;d=(p+245760|0)>>>16&2;d=14-(n|o|d)+(p<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=10352+(d<<2)|0;c[q+28>>2]=d;c[q+20>>2]=0;c[q+16>>2]=0;a=c[2513]|0;b=1<<d;do if(a&b){f=g<<((d|0)==31?0:25-(d>>>1)|0);a=c[e>>2]|0;while(1){if((c[a+4>>2]&-8|0)==(g|0)){d=a;e=130;break}b=a+16+(f>>>31<<2)|0;d=c[b>>2]|0;if(!d){e=127;break}else{f=f<<1;a=d}}if((e|0)==127)if(b>>>0<(c[2516]|0)>>>0)cb();else{c[b>>2]=q;c[q+24>>2]=a;c[q+12>>2]=q;c[q+8>>2]=q;break}else if((e|0)==130){a=d+8|0;b=c[a>>2]|0;p=c[2516]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){c[b+12>>2]=q;c[a>>2]=q;c[q+8>>2]=b;c[q+12>>2]=d;c[q+24>>2]=0;break}else cb()}}else{c[2513]=a|b;c[e>>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q}while(0);q=(c[2520]|0)+-1|0;c[2520]=q;if(!q)a=10504;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[2520]=-1;return}function Ej(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Cj(b)|0;return a|0}if(b>>>0>4294967231){c[(Zi()|0)>>2]=12;a=0;return a|0}d=Fj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){a=d+8|0;return a|0}d=Cj(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;qk(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;Dj(a);a=d;return a|0}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+4|0;o=c[n>>2]|0;d=o&-8;k=a+d|0;i=c[2516]|0;e=o&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))cb();f=c[k+4>>2]|0;if(!(f&1))cb();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[2632]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[n>>2]=o&1|b|2;c[m+4>>2]=d|3;b=m+d+4|0;c[b>>2]=c[b>>2]|1;Gj(m,d);return a|0}if((k|0)==(c[2518]|0)){d=(c[2515]|0)+d|0;if(d>>>0<=b>>>0){a=0;return a|0}m=d-b|0;l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|1;c[2518]=l;c[2515]=m;return a|0}if((k|0)==(c[2517]|0)){e=(c[2514]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){e=a+b|0;m=e+d|0;c[n>>2]=o&1|b|2;c[e+4>>2]=d|1;c[m>>2]=d;b=m+4|0;c[b>>2]=c[b>>2]&-2}else{c[n>>2]=o&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2514]=d;c[2517]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){j=0;break}}else e=f;while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)cb();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)cb();d=g+12|0;if((c[d>>2]|0)!=(k|0))cb();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else cb()}while(0);if(h|0){d=c[k+28>>2]|0;e=10352+(d<<2)|0;if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[2513]=c[2513]&~(1<<d);break}}else{if(h>>>0<(c[2516]|0)>>>0)cb();d=h+16|0;if((c[d>>2]|0)==(k|0))c[d>>2]=j;else c[h+20>>2]=j;if(!j)break}f=c[2516]|0;if(j>>>0<f>>>0)cb();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)cb();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[2516]|0)>>>0)cb();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=10088+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)cb();if((c[e+12>>2]|0)!=(k|0))cb()}if((f|0)==(e|0)){c[2512]=c[2512]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)cb();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else cb()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);if(m>>>0<16){c[n>>2]=l|o&1|2;b=a+l+4|0;c[b>>2]=c[b>>2]|1;return a|0}else{l=a+b|0;c[n>>2]=o&1|b|2;c[l+4>>2]=m|3;b=l+m+4|0;c[b>>2]=c[b>>2]|1;Gj(l,m);return a|0}return 0}function Gj(a,b){a=a|0;b=b|0;var 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;o=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;l=a+(0-f)|0;k=f+b|0;i=c[2516]|0;if(l>>>0<i>>>0)cb();if((l|0)==(c[2517]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;g=k;break}c[2514]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=f>>>3;if(f>>>0<256){a=c[l+8>>2]|0;b=c[l+12>>2]|0;d=10088+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<i>>>0)cb();if((c[a+12>>2]|0)!=(l|0))cb()}if((b|0)==(a|0)){c[2512]=c[2512]&~(1<<e);r=l;g=k;break}if((b|0)!=(d|0)){if(b>>>0<i>>>0)cb();d=b+8|0;if((c[d>>2]|0)==(l|0))h=d;else cb()}else h=b+8|0;c[a+12>>2]=b;c[h>>2]=a;r=l;g=k;break}f=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){a=l+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){j=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<i>>>0)cb();else{c[a>>2]=0;j=d;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)cb();d=e+12|0;if((c[d>>2]|0)!=(l|0))cb();a=b+8|0;if((c[a>>2]|0)==(l|0)){c[d>>2]=b;c[a>>2]=e;j=b;break}else cb()}while(0);if(f){d=c[l+28>>2]|0;a=10352+(d<<2)|0;if((l|0)==(c[a>>2]|0)){c[a>>2]=j;if(!j){c[2513]=c[2513]&~(1<<d);r=l;g=k;break}}else{if(f>>>0<(c[2516]|0)>>>0)cb();d=f+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=j;else c[f+20>>2]=j;if(!j){r=l;g=k;break}}b=c[2516]|0;if(j>>>0<b>>>0)cb();c[j+24>>2]=f;d=l+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)cb();else{c[j+16>>2]=a;c[a+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d)if(d>>>0<(c[2516]|0)>>>0)cb();else{c[j+20>>2]=d;c[d+24>>2]=j;r=l;g=k;break}else{r=l;g=k}}else{r=l;g=k}}else{r=a;g=b}while(0);h=c[2516]|0;if(o>>>0<h>>>0)cb();d=o+4|0;a=c[d>>2]|0;if(!(a&2)){if((o|0)==(c[2518]|0)){q=(c[2515]|0)+g|0;c[2515]=q;c[2518]=r;c[r+4>>2]=q|1;if((r|0)!=(c[2517]|0))return;c[2517]=0;c[2514]=0;return}if((o|0)==(c[2517]|0)){q=(c[2514]|0)+g|0;c[2514]=q;c[2517]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}g=(a&-8)+g|0;e=a>>>3;do if(a>>>0>=256){f=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){a=o+16|0;b=a+4|0;d=c[b>>2]|0;if(!d){d=c[a>>2]|0;if(!d){n=0;break}}else a=b;while(1){b=d+20|0;e=c[b>>2]|0;if(e|0){d=e;a=b;continue}b=d+16|0;e=c[b>>2]|0;if(!e)break;else{d=e;a=b}}if(a>>>0<h>>>0)cb();else{c[a>>2]=0;n=d;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)cb();d=e+12|0;if((c[d>>2]|0)!=(o|0))cb();a=b+8|0;if((c[a>>2]|0)==(o|0)){c[d>>2]=b;c[a>>2]=e;n=b;break}else cb()}while(0);if(f|0){d=c[o+28>>2]|0;a=10352+(d<<2)|0;if((o|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2513]=c[2513]&~(1<<d);break}}else{if(f>>>0<(c[2516]|0)>>>0)cb();d=f+16|0;if((c[d>>2]|0)==(o|0))c[d>>2]=n;else c[f+20>>2]=n;if(!n)break}b=c[2516]|0;if(n>>>0<b>>>0)cb();c[n+24>>2]=f;d=o+16|0;a=c[d>>2]|0;do if(a|0)if(a>>>0<b>>>0)cb();else{c[n+16>>2]=a;c[a+24>>2]=n;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[2516]|0)>>>0)cb();else{c[n+20>>2]=d;c[d+24>>2]=n;break}}}else{a=c[o+8>>2]|0;b=c[o+12>>2]|0;d=10088+(e<<1<<2)|0;if((a|0)!=(d|0)){if(a>>>0<h>>>0)cb();if((c[a+12>>2]|0)!=(o|0))cb()}if((b|0)==(a|0)){c[2512]=c[2512]&~(1<<e);break}if((b|0)!=(d|0)){if(b>>>0<h>>>0)cb();d=b+8|0;if((c[d>>2]|0)==(o|0))m=d;else cb()}else m=b+8|0;c[a+12>>2]=b;c[m>>2]=a}while(0);c[r+4>>2]=g|1;c[r+g>>2]=g;if((r|0)==(c[2517]|0)){c[2514]=g;return}}else{c[d>>2]=a&-2;c[r+4>>2]=g|1;c[r+g>>2]=g}d=g>>>3;if(g>>>0<256){b=10088+(d<<1<<2)|0;a=c[2512]|0;d=1<<d;if(a&d){d=b+8|0;a=c[d>>2]|0;if(a>>>0<(c[2516]|0)>>>0)cb();else{p=d;q=a}}else{c[2512]=a|d;p=b+8|0;q=b}c[p>>2]=r;c[q+12>>2]=r;c[r+8>>2]=q;c[r+12>>2]=b;return}d=g>>>8;if(d)if(g>>>0>16777215)b=31;else{p=(d+1048320|0)>>>16&8;q=d<<p;o=(q+520192|0)>>>16&4;q=q<<o;b=(q+245760|0)>>>16&2;b=14-(o|p|b)+(q<<b>>>15)|0;b=g>>>(b+7|0)&1|b<<1}else b=0;e=10352+(b<<2)|0;c[r+28>>2]=b;c[r+20>>2]=0;c[r+16>>2]=0;d=c[2513]|0;a=1<<b;if(!(d&a)){c[2513]=d|a;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}f=g<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){b=d;e=127;break}a=d+16+(f>>>31<<2)|0;b=c[a>>2]|0;if(!b){e=124;break}else{f=f<<1;d=b}}if((e|0)==124){if(a>>>0<(c[2516]|0)>>>0)cb();c[a>>2]=r;c[r+24>>2]=d;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((e|0)==127){d=b+8|0;a=c[d>>2]|0;q=c[2516]|0;if(!(a>>>0>=q>>>0&b>>>0>=q>>>0))cb();c[a+12>>2]=r;c[d>>2]=r;c[r+8>>2]=a;c[r+12>>2]=b;c[r+24>>2]=0;return}}function Hj(a){a=a|0;return}function Ij(a,b){a=a|0;b=b|0;return 0}function Jj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){Ab[c[(c[a>>2]|0)+8>>2]&127](a);a=1}else a=0;return a|0}function Kj(a){a=a|0;if(Jj(a)|0)Lj(a);return}function Lj(a){a=a|0;var b=0,d=0;d=a+8|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Ab[c[(c[a>>2]|0)+16>>2]&127](a);return}function Mj(a){a=a|0;Na(7672,7695,303,7771)}function Nj(a){a=a|0;return}function Oj(a){a=a|0;return}function Pj(a){a=a|0;Qj(a);return}function Qj(a){a=a|0;Dj(a);return}function Rj(a){a=a|0;return}function Sj(a){a=a|0;return}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Uj(b,48,16,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Tb[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Uj(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;l=q+16|0;g=q+20|0;d=q+24|0;e=q+28|0;h=q+32|0;j=q+40|0;k=(p|0)==(f|0);m=l;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[l+36>>1]=0;a[l+38>>0]=0;a:do if(k){c[q+48>>2]=1;Hb[c[(c[f>>2]|0)+20>>2]&3](f,q,o,o,1,0);g=(c[d>>2]|0)==1?o:0}else{yb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[j>>2]|0)==1&(c[e>>2]|0)==1&(c[h>>2]|0)==1?c[g>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[d>>2]|0)!=1?!((c[j>>2]|0)==0&(c[e>>2]|0)==1&(c[h>>2]|0)==1):0){g=0;break}g=c[l>>2]|0}while(0);i=r;return g|0}function Vj(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Wj(0,b,d,e,f);else{a=c[a+8>>2]|0;Hb[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function Wj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Xj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;yb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(j=d+20|0,(c[j>>2]|0)!=(e|0)):0){c[d+32>>2]=f;i=d+44|0;if((c[i>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;f=d+53|0;a[f>>0]=0;b=c[b+8>>2]|0;Hb[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[f>>0]|0)if(!(a[h>>0]|0)){h=1;f=13}else f=17;else{h=0;f=13}do if((f|0)==13){c[j>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h){f=17;break}else{h=4;break}}if(h)f=17;else h=4}while(0);if((f|0)==17)h=3;c[i>>2]=h;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Zj(0,b,d,e);else{a=c[a+8>>2]|0;Tb[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Zj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function _j(a){a=a|0;Qj(a);return}function $j(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Wj(0,b,d,e,f);return}function ak(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Zj(0,b,d,e);return}function ck(a){a=a|0;return}function dk(a){a=a|0;return}function ek(a){a=a|0;Qj(a);return}function fk(a){a=a|0;return 7935}function gk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Cj(b)|0;if(a|0){b=6;break}a=hk()|0;if(!a){b=5;break}Jb[a&0]()}if((b|0)==5){b=Pa(4)|0;c[b>>2]=1960;pb(b|0,72,20)}else if((b|0)==6)return a|0;return 0}function hk(){var a=0;a=c[2636]|0;c[2636]=a+0;return a|0}function ik(a){a=a|0;return gk(a)|0}function jk(){}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function lk(a){a=+a;return a>=0.0?+N(a+.5):+_(a-.5)}function mk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function nk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function pk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ya(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function rk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function sk(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function tk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function uk(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,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=kk(j^a|0,i^b|0,j|0,i|0)|0;g=D;a=f^j;b=e^i;return kk((zk(h,g,kk(f^c|0,e^d|0,f|0,e|0)|0,D,0)|0)^a|0,D^b|0,a|0,b|0)|0}function vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=kk(h^a|0,g^b|0,h|0,g|0)|0;b=D;zk(a,b,kk(l^d|0,k^e|0,l|0,k|0)|0,D,j)|0;e=kk(c[j>>2]^h|0,c[j+4>>2]^g|0,h|0,g|0)|0;d=D;i=f;return (D=d,e)|0}function wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=tk(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zk(a,b,c,d,0)|0}function yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;zk(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function zk(a,b,d,e,f){a=a|0;b=b|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;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=sk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((sk(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=ok(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;kk(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=kk(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function Ak(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&3](b|0,c|0,d|0,e|0,f|0)}function Bk(a,b,c){a=a|0;b=b|0;c=+c;zb[a&15](b|0,+c)}function Ck(a,b){a=a|0;b=b|0;Ab[a&127](b|0)}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;Bb[a&31](b|0,c|0)}function Ek(a,b){a=a|0;b=b|0;return Cb[a&31](b|0)|0}function Fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Db[a&1](b|0,c|0,d|0)}function Gk(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;Eb[a&1](b|0,+c,+d,e|0)}function Hk(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Fb[a&1](b|0,+c,+d)}function Ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gb[a&7](b|0,c|0,d|0)|0}function Jk(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;Hb[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Kk(a,b){a=a|0;b=b|0;return +Ib[a&31](b|0)}function Lk(a){a=a|0;Jb[a&0]()}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;return Kb[a&15](b|0,c|0)|0}function Nk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;Lb[a&1](b|0,c|0,+d,+e,f|0)}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;return +Mb[a&7](b|0,c|0)}function Pk(a){a=a|0;return Nb[a&7]()|0}function Qk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Ob[a&1](b|0,c|0,d|0,+e)}function Rk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Pb[a&15](b|0,c|0,d|0)}function Sk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=+f;g=g|0;Qb[a&1](b|0,c|0,+d,e|0,+f,g|0)}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Rb[a&7](b|0,c|0,+d)}function Uk(a,b,c){a=a|0;b=+b;c=+c;return Sb[a&1](+b,+c)|0}function Vk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Tb[a&15](b|0,c|0,d|0,e|0)}function Wk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0)}function Xk(a,b){a=a|0;b=+b;ca(1)}function Yk(a){a=a|0;ca(2)}function Zk(a,b){a=a|0;b=b|0;ca(3)}function _k(a){a=a|0;ca(4);return 0}function $k(a,b,c){a=a|0;b=b|0;c=c|0;ca(5);return 0.0}function al(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;ca(6)}function bl(a,b,c){a=a|0;b=+b;c=+c;ca(7)}function cl(a,b,c){a=a|0;b=b|0;c=c|0;ca(8);return 0}function dl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(9)}function el(a){a=a|0;ca(10);return 0.0}function fl(){ca(11)}function gl(a,b){a=a|0;b=b|0;ca(12);return 0}function hl(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;ca(13)}function il(a,b){a=a|0;b=b|0;ca(14);return 0.0}function jl(){ca(15);return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ca(16)}function ll(a,b,c){a=a|0;b=b|0;c=c|0;ca(17)}function ml(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=d|0;e=+e;f=f|0;ca(18)}function nl(a,b,c){a=a|0;b=b|0;c=+c;ca(19)}function ol(a,b){a=+a;b=+b;ca(20);return 0}function pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(21)}
function Ub(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Vb(){return i|0}function Wb(a){a=a|0;i=a}function Xb(a,b){a=a|0;b=b|0;i=a;j=b}function Yb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Zb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function _b(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function $b(a){a=a|0;D=a}function ac(){return D|0}function bc(a){a=a|0;if(!a)return;Ab[c[205]&127](c[a+8>>2]|0);Ab[c[205]&127](a);return}function cc(a){a=a|0;if(!a){a=0;return a|0}a=c[a+4>>2]|0;return a|0}function dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;g=l+8|0;f=l;e=c[a>>2]|0;do if(!e){e=Cb[c[203]&31](12)|0;if(!e){c[f>>2]=1972;hc(0,2081,f);cb()}c[e>>2]=4;c[e+4>>2]=0;f=Cb[c[203]&31](16)|0;c[e+8>>2]=f;if(!f){c[g>>2]=2007;hc(0,2081,g);cb()}else{c[a>>2]=e;h=e;break}}else h=e;while(0);f=h+4|0;e=c[f>>2]|0;do if((e|0)==(c[h>>2]|0)){c[h>>2]=e<<1;a=h+8|0;g=Kb[c[204]&15](c[a>>2]|0,e<<3)|0;c[a>>2]=g;if(!g){c[j>>2]=2043;hc(0,2081,j);cb()}else{k=c[f>>2]|0;break}}else k=e;while(0);e=h+8|0;if(k>>>0>d>>>0)a=k;else{k=k+1|0;c[f>>2]=k;k=c[e>>2]|0;d=k+(d<<2)|0;c[d>>2]=b;i=l;return}do{j=a;a=a+-1|0;h=c[e>>2]|0;c[h+(j<<2)>>2]=c[h+(a<<2)>>2]}while(a>>>0>d>>>0);k=k+1|0;c[f>>2]=k;k=c[e>>2]|0;d=k+(d<<2)|0;c[d>>2]=b;i=l;return}function ec(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;f=c[i>>2]|0;if(!f){b=0;return b|0}g=a+8|0;e=c[g>>2]|0;a=0;while(1){d=e+(a<<2)|0;if((c[d>>2]|0)==(b|0))break;a=a+1|0;if(a>>>0>=f>>>0){a=0;h=8;break}}if((h|0)==8)return a|0;c[d>>2]=0;d=f+-1|0;if(d>>>0>a>>>0)do{h=a;a=a+1|0;f=c[g>>2]|0;c[f+(h<<2)>>2]=c[f+(a<<2)>>2];c[(c[g>>2]|0)+(a<<2)>>2]=0}while((a|0)!=(d|0));c[i>>2]=d;return b|0}function fc(a,b){a=a|0;b=b|0;if(!a){a=0;return a|0}if(!(c[a+4>>2]|0)){a=0;return a|0}a=c[(c[a+8>>2]|0)+(b<<2)>>2]|0;return a|0}function gc(){var a=0,b=0,d=0;d=i;i=i+16|0;b=d;a=Cb[c[203]&31](724)|0;if(!a){c[b>>2]=2084;hc(0,2081,b);cb()}else{c[2096]=(c[2096]|0)+1;qk(a|0,88,724)|0;i=d;return a|0}return 0}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;Gb[c[206]&7](a,b,f)|0;i=e;return}function ic(a,b,d){a=a|0;b=b|0;d=d|0;if(!a){a=fj(c[410]|0,b,d)|0;return a|0}else{a=Bj(b,d)|0;return a|0}return 0}function jc(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+696|0;d=c[b>>2]|0;if(d|0){ec(c[d+700>>2]|0,a)|0;c[b>>2]=0}e=a+700|0;f=cc(c[e>>2]|0)|0;b=c[e>>2]|0;if(f){d=0;do{c[(fc(b,d)|0)+696>>2]=0;d=d+1|0;b=c[e>>2]|0}while((d|0)!=(f|0))}bc(b);Ab[c[205]&127](a);c[2096]=(c[2096]|0)+-1;return}function kc(a){a=a|0;return cc(c[a+700>>2]|0)|0}function lc(a,b){a=a|0;b=b|0;return fc(c[a+700>>2]|0,b)|0}function mc(b,d){b=b|0;d=d|0;if(!(ec(c[b+700>>2]|0,d)|0))return;c[d+696>>2]=0;while(1){d=b+704|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function nc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f+8|0;d=f;b=a+700|0;if(cc(c[b>>2]|0)|0){c[d>>2]=2119;hc(0,2081,d);cb()}if(!(c[a+696>>2]|0)){bc(c[b>>2]|0);qk(a|0,88,724)|0;i=f;return}else{c[e>>2]=2173;hc(0,2081,e);cb()}}function oc(){return c[2096]|0}function pc(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(!b){c[a+712>>2]=0;i=e;return}if(cc(c[a+700>>2]|0)|0){c[d>>2]=2220;hc(0,2081,d);cb()}c[a+712>>2]=b;i=e;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+8|0;h=k;f=d+696|0;if(c[f>>2]|0){c[h>>2]=2300;hc(0,2081,h);cb()}if(c[b+712>>2]|0){c[j>>2]=2354;hc(0,2081,j);cb()}dc(b+700|0,d,e);c[f>>2]=b;while(1){f=b+704|0;if(a[f>>0]|0){f=8;break}a[f>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){f=8;break}}if((f|0)==8){i=k;return}}function rc(a){a=a|0;return c[a+696>>2]|0}function sc(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;if(!(c[b+712>>2]|0)){c[d>>2]=2423;hc(0,2081,d);cb()}else e=b;while(1){b=e+704|0;if(a[b>>0]|0){b=5;break}a[b>>0]=1;g[e+256>>2]=s;e=c[e+696>>2]|0;if(!e){b=5;break}}if((b|0)==5){i=f;return}}function tc(b){b=b|0;return (a[b+704>>0]|0)!=0|0}function uc(b,d){b=b|0;d=d|0;if(!(ej(b,d,224)|0))return;qk(b|0,d|0,224)|0;d=b;while(1){b=d+704|0;if(a[b>>0]|0){b=5;break}a[b>>0]=1;g[d+256>>2]=s;d=c[d+696>>2]|0;if(!d){b=5;break}}if((b|0)==5)return}function vc(a){a=a|0;var b=0.0,d=0.0;b=+g[a+40>>2];d=+O(+b);if((g[k>>2]=d,c[k>>2]|0)>>>0>2139095040){b=+g[a+36>>2];d=+O(+b);return +(b>0.0&(g[k>>2]=d,c[k>>2]|0)>>>0<2139095041?b:0.0)}else return +b;return 0.0}function wc(a){a=a|0;var b=0.0,d=0.0;b=+g[a+44>>2];d=+O(+b);if((g[k>>2]=d,c[k>>2]|0)>>>0>2139095040){b=+g[a+36>>2];d=+O(+b);return +(b<0.0&(g[k>>2]=d,c[k>>2]|0)>>>0<2139095041?-b:0.0)}else return +b;return 0.0}function xc(a){a=a|0;var b=0.0,d=0.0;b=+g[a+48>>2];d=+O(+b);if((g[k>>2]=d,c[k>>2]|0)>>>0<=2139095040){d=b;return +d}b=+g[a+36>>2];d=+O(+b);if((g[k>>2]=d,c[k>>2]|0)>>>0>2139095040){d=s;return +d}d=b>0.0?0.0:s;return +d}function yc(b,d){b=b|0;d=+d;var e=0;e=b+36|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function zc(a,b){a=a|0;b=b|0;c[a+720>>2]=b;return}function Ac(a){a=a|0;return c[a+720>>2]|0}function Bc(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Cc(a){a=a|0;return c[a+4>>2]|0}function Dc(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Ec(a){a=a|0;return c[a+8>>2]|0}function Fc(b,d){b=b|0;d=d|0;var e=0;e=b+12|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Gc(a){a=a|0;return c[a+12>>2]|0}function Hc(b,d){b=b|0;d=d|0;var e=0;e=b+16|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Ic(a){a=a|0;return c[a+16>>2]|0}function Jc(b,d){b=b|0;d=d|0;var e=0;e=b+20|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Kc(a){a=a|0;return c[a+20>>2]|0}function Lc(b,d){b=b|0;d=d|0;var e=0;e=b+24|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Mc(a){a=a|0;return c[a+24>>2]|0}function Nc(b,d){b=b|0;d=d|0;var e=0;e=b+28|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Oc(a){a=a|0;return c[a+28>>2]|0}function Pc(b,d){b=b|0;d=d|0;var e=0;e=b+32|0;if((c[e>>2]|0)==(d|0))return;c[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Qc(b,d){b=b|0;d=+d;var e=0;e=b+40|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Rc(b,d){b=b|0;d=+d;var e=0;e=b+44|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Sc(b,d){b=b|0;d=+d;var e=0;e=b+48|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function Tc(b,d,e){b=b|0;d=d|0;e=+e;d=b+88+(d<<2)|0;if(!(+g[d>>2]!=e))return;g[d>>2]=e;while(1){d=b+704|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function Uc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,h=0.0,j=0,l=0.0;j=i;i=i+16|0;e=j;if(b>>>0>=6){c[e>>2]=2509;hc(0,2081,e);cb()}d=+g[a+88+(b<<2)>>2];l=+O(+d);if((g[k>>2]=l,c[k>>2]|0)>>>0<=2139095040){l=d;i=j;return +l}e=b|2;if((e|0)==3?(h=+g[a+116>>2],l=+O(+h),(g[k>>2]=l,c[k>>2]|0)>>>0<=2139095040):0){l=h;i=j;return +l}if((b|1|0)==5|(e|0)==2?(f=+g[a+112>>2],l=+O(+f),(g[k>>2]=l,c[k>>2]|0)>>>0<=2139095040):0){l=f;i=j;return +l}d=+g[a+120>>2];l=+O(+d);l=(g[k>>2]=l,c[k>>2]|0)>>>0>2139095040?s:d;i=j;return +l}function Vc(b,d,e){b=b|0;d=d|0;e=+e;d=b+52+(d<<2)|0;if(!(+g[d>>2]!=e))return;g[d>>2]=e;while(1){d=b+704|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function Wc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,j=0.0,l=0,m=0.0;l=i;i=i+16|0;e=l;if(b>>>0>=6){c[e>>2]=2509;hc(0,2081,e);cb()}d=+g[a+52+(b<<2)>>2];m=+O(+d);if((g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040){m=d;i=l;return +m}f=b|2;if((f|0)==3?(h=+g[a+80>>2],m=+O(+h),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=h;i=l;return +m}e=(b|1|0)==5;if(e|(f|0)==2?(j=+g[a+76>>2],m=+O(+j),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=j;i=l;return +m}d=+g[a+84>>2];m=+O(+d);m=(g[k>>2]=m,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d;i=l;return +m}function Xc(b,d,e){b=b|0;d=d|0;e=+e;d=b+124+(d<<2)|0;if(!(+g[d>>2]!=e))return;g[d>>2]=e;while(1){d=b+704|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function Yc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,j=0.0,l=0,m=0.0;l=i;i=i+16|0;e=l;if(b>>>0>=6){c[e>>2]=2509;hc(0,2081,e);cb()}d=+g[a+124+(b<<2)>>2];m=+O(+d);if((g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040){m=d;i=l;return +m}f=b|2;if((f|0)==3?(h=+g[a+152>>2],m=+O(+h),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=h;i=l;return +m}e=(b|1|0)==5;if(e|(f|0)==2?(j=+g[a+148>>2],m=+O(+j),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=j;i=l;return +m}d=+g[a+156>>2];m=+O(+d);m=(g[k>>2]=m,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d;i=l;return +m}function Zc(b,d,e){b=b|0;d=d|0;e=+e;d=b+160+(d<<2)|0;if(!(+g[d>>2]!=e))return;g[d>>2]=e;while(1){d=b+704|0;if(a[d>>0]|0){d=5;break}a[d>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){d=5;break}}if((d|0)==5)return}function _c(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0.0,j=0.0,l=0,m=0.0;l=i;i=i+16|0;e=l;if(b>>>0>=6){c[e>>2]=2509;hc(0,2081,e);cb()}d=+g[a+160+(b<<2)>>2];m=+O(+d);if((g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040){m=d;i=l;return +m}f=b|2;if((f|0)==3?(h=+g[a+188>>2],m=+O(+h),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=h;i=l;return +m}e=(b|1|0)==5;if(e|(f|0)==2?(j=+g[a+184>>2],m=+O(+j),(g[k>>2]=m,c[k>>2]|0)>>>0<=2139095040):0){m=j;i=l;return +m}d=+g[a+192>>2];m=+O(+d);m=(g[k>>2]=m,c[k>>2]|0)>>>0>2139095040?(e?s:0.0):d;i=l;return +m}function $c(b,d){b=b|0;d=+d;var e=0;e=b+196|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function ad(a){a=a|0;return +(+g[a+196>>2])}function bd(b,d){b=b|0;d=+d;var e=0;e=b+200|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function cd(a){a=a|0;return +(+g[a+200>>2])}function dd(b,d){b=b|0;d=+d;var e=0;e=b+204|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function ed(a){a=a|0;return +(+g[a+204>>2])}function fd(b,d){b=b|0;d=+d;var e=0;e=b+208|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function gd(a){a=a|0;return +(+g[a+208>>2])}function hd(b,d){b=b|0;d=+d;var e=0;e=b+212|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function id(a){a=a|0;return +(+g[a+212>>2])}function jd(b,d){b=b|0;d=+d;var e=0;e=b+216|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function kd(a){a=a|0;return +(+g[a+216>>2])}function ld(b,d){b=b|0;d=+d;var e=0;e=b+220|0;if(!(+g[e>>2]!=d))return;g[e>>2]=d;while(1){e=b+704|0;if(a[e>>0]|0){e=5;break}a[e>>0]=1;g[b+256>>2]=s;b=c[b+696>>2]|0;if(!b){e=5;break}}if((e|0)==5)return}function md(a){a=a|0;return +(+g[a+220>>2])}function nd(a){a=a|0;return +(+g[a+224>>2])}function od(a){a=a|0;return +(+g[a+228>>2])}function pd(a){a=a|0;return +(+g[a+232>>2])}function qd(a){a=a|0;return +(+g[a+236>>2])}function rd(a){a=a|0;return +(+g[a+240>>2])}function sd(a){a=a|0;return +(+g[a+244>>2])}function td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=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,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.0;Ca=i;i=i+816|0;ya=Ca+808|0;Ba=Ca+800|0;Aa=Ca+792|0;xa=Ca+784|0;wa=Ca+768|0;va=Ca+752|0;ua=Ca+736|0;ta=Ca+720|0;sa=Ca+712|0;ra=Ca+696|0;qa=Ca+680|0;pa=Ca+664|0;oa=Ca+648|0;na=Ca+632|0;ma=Ca+616|0;la=Ca+600|0;ka=Ca+584|0;ja=Ca+568|0;ia=Ca+552|0;ha=Ca+536|0;ga=Ca+520|0;fa=Ca+504|0;ea=Ca+488|0;da=Ca+472|0;ca=Ca+456|0;ba=Ca+440|0;aa=Ca+424|0;$=Ca+408|0;_=Ca+392|0;Z=Ca+376|0;Y=Ca+360|0;X=Ca+344|0;W=Ca+328|0;V=Ca+312|0;U=Ca+296|0;T=Ca+280|0;S=Ca+272|0;R=Ca+264|0;Q=Ca+256|0;P=Ca+240|0;N=Ca+224|0;M=Ca+208|0;K=Ca+200|0;J=Ca+192|0;H=Ca+184|0;G=Ca+176|0;F=Ca+168|0;E=Ca+160|0;D=Ca+152|0;C=Ca+144|0;B=Ca+136|0;A=Ca+128|0;z=Ca+120|0;y=Ca+112|0;w=Ca+104|0;v=Ca+96|0;u=Ca+88|0;t=Ca+80|0;r=Ca+72|0;q=Ca+64|0;p=Ca+56|0;o=Ca+48|0;m=Ca+40|0;L=Ca+32|0;I=Ca+24|0;x=Ca+16|0;l=Ca+8|0;f=Ca;za=(d|0)==0;if(!za){e=0;do{hc(3,2560,f);e=e+1|0}while((e|0)!=(d|0))}hc(3,2563,l);e=c[a+716>>2]|0;if(e|0)Ab[e&127](a);if(b&1|0){hc(3,2565,x);h[I>>3]=+g[a+240>>2];hc(3,2575,I);h[L>>3]=+g[a+244>>2];hc(3,2587,L);h[m>>3]=+g[a+228>>2];hc(3,2600,m);h[o>>3]=+g[a+224>>2];hc(3,2610,o);hc(3,2619,p)}do if(b&2|0){switch(c[a+4>>2]|0){case 0:{hc(3,2623,q);break}case 1:{hc(3,2649,r);break}case 2:{hc(3,2683,t);break}case 3:{hc(3,2706,u);break}default:{}}switch(c[a+8>>2]|0){case 1:{hc(3,2737,v);break}case 2:{hc(3,2764,w);break}case 4:{hc(3,2793,y);break}case 3:{hc(3,2826,z);break}default:{}}switch(c[a+16>>2]|0){case 2:{hc(3,2860,A);break}case 3:{hc(3,2883,B);break}case 4:{hc(3,2908,C);break}default:{}}switch(c[a+12>>2]|0){case 2:{hc(3,2932,D);break}case 3:{hc(3,2957,E);break}case 4:{hc(3,2984,F);break}default:{}}switch(c[a+20>>2]|0){case 1:{hc(3,3010,G);break}case 2:{hc(3,3036,H);break}case 3:{hc(3,3058,J);break}case 4:{hc(3,3082,K);break}default:{}}j=+g[a+40>>2];n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0>2139095040){j=+g[a+36>>2];n=+O(+j);j=j>0.0&(g[k>>2]=n,c[k>>2]|0)>>>0<2139095041?j:0.0}n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0<=2139095040){c[M>>2]=3114;h[M+8>>3]=j;hc(3,3105,M)}j=+g[a+44>>2];n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0>2139095040){j=+g[a+36>>2];n=+O(+j);j=j<0.0&(g[k>>2]=n,c[k>>2]|0)>>>0<2139095041?-j:0.0}n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0<=2139095040){c[N>>2]=3123;h[N+8>>3]=j;hc(3,3105,N)}j=+g[a+48>>2];n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0>2139095040){j=+g[a+36>>2];n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0>2139095040)j=s;else j=j>0.0?0.0:s}n=+O(+j);if((g[k>>2]=n,c[k>>2]|0)>>>0<=2139095040){c[P>>2]=3134;h[P+8>>3]=j;hc(3,3105,P)}switch(c[a+32>>2]|0){case 1:{hc(3,3144,Q);break}case 0:{hc(3,3165,R);break}case 2:{hc(3,3187,S);break}default:{}}j=+g[a+52>>2];l=a+56|0;n=+g[l>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){Da=+O(+n);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?(Da=+O(+(+g[a+60>>2])),(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040):0){Da=+O(+(+g[a+64>>2]));f=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040}else f=0;j=+g[a+76>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=59;break}else{f=62;break}}else{Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=59;break}else{f=62;break}}}else{if(+O(+(j-n))<.0001?+O(+(j-+g[a+60>>2]))<.0001:0){S=+O(+(j-+g[a+64>>2]))<.0001;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(S){f=59;break}else{f=62;break}}Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040)f=64;else f=63}while(0);do if((f|0)==59){if(!e?+O(+j)<.0001:0)break;c[T>>2]=3208;h[T+8>>3]=j;hc(3,3105,T)}else if((f|0)==62)if(e)f=64;else f=63;while(0);if((f|0)==63)if(+O(+j)<.0001)f=65;else f=64;if((f|0)==64){c[U>>2]=3215;h[U+8>>3]=j;hc(3,3105,U);f=65}do if((f|0)==65){j=+g[a+60>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+76>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[V>>2]=3226;h[V+8>>3]=j;hc(3,3105,V)}j=+g[l>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+80>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[W>>2]=3238;h[W+8>>3]=j;hc(3,3105,W)}j=+g[a+64>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+80>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[X>>2]=3248;h[X+8>>3]=j;hc(3,3105,X)}j=+g[a+68>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+76>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[Y>>2]=3261;h[Y+8>>3]=j;hc(3,3105,Y)}j=+g[a+72>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+76>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+84>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)break;c[Z>>2]=3273;h[Z+8>>3]=j;hc(3,3105,Z)}while(0);j=+g[a+124>>2];l=a+128|0;n=+g[l>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){Da=+O(+n);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?(Da=+O(+(+g[a+132>>2])),(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040):0){Da=+O(+(+g[a+136>>2]));f=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040}else f=0;j=+g[a+148>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=106;break}else{f=109;break}}else{Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=106;break}else{f=109;break}}}else{if(+O(+(j-n))<.0001?+O(+(j-+g[a+132>>2]))<.0001:0){Z=+O(+(j-+g[a+136>>2]))<.0001;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(Z){f=106;break}else{f=109;break}}Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040)f=111;else f=110}while(0);do if((f|0)==106){if(!e?+O(+j)<.0001:0)break;c[_>>2]=3283;h[_+8>>3]=j;hc(3,3105,_)}else if((f|0)==109)if(e)f=111;else f=110;while(0);if((f|0)==110)if(+O(+j)<.0001)f=112;else f=111;if((f|0)==111){c[$>>2]=3291;h[$+8>>3]=j;hc(3,3105,$);f=112}do if((f|0)==112){j=+g[a+132>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+148>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[aa>>2]=3303;h[aa+8>>3]=j;hc(3,3105,aa)}j=+g[l>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+152>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ba>>2]=3316;h[ba+8>>3]=j;hc(3,3105,ba)}j=+g[a+136>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+152>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}while(0);Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ca>>2]=3327;h[ca+8>>3]=j;hc(3,3105,ca)}j=+g[a+140>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+148>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[da>>2]=3341;h[da+8>>3]=j;hc(3,3105,da)}j=+g[a+144>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+148>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+156>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)break;c[ea>>2]=3354;h[ea+8>>3]=j;hc(3,3105,ea)}while(0);j=+g[a+160>>2];l=a+164|0;n=+g[l>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){Da=+O(+n);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?(Da=+O(+(+g[a+168>>2])),(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040):0){Da=+O(+(+g[a+172>>2]));f=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040}else f=0;j=+g[a+184>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=153;break}else{f=156;break}}else{Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(f){f=153;break}else{f=156;break}}}else{if(+O(+(j-n))<.0001?+O(+(j-+g[a+168>>2]))<.0001:0){ea=+O(+(j-+g[a+172>>2]))<.0001;Da=+O(+j);e=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040;if(ea){f=153;break}else{f=156;break}}Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040)f=158;else f=157}while(0);do if((f|0)==153){if(!e?+O(+j)<.0001:0)break;c[fa>>2]=3365;h[fa+8>>3]=j;hc(3,3105,fa)}else if((f|0)==156)if(e)f=158;else f=157;while(0);if((f|0)==157)if(+O(+j)<.0001)f=159;else f=158;if((f|0)==158){c[ga>>2]=3377;h[ga+8>>3]=j;hc(3,3105,ga);f=159}do if((f|0)==159){j=+g[a+168>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+184>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ha>>2]=3393;h[ha+8>>3]=j;hc(3,3105,ha)}j=+g[l>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+188>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}}Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ia>>2]=3410;h[ia+8>>3]=j;hc(3,3105,ia)}j=+g[a+172>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+188>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?0.0:j}while(0);Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ja>>2]=3425;h[ja+8>>3]=j;hc(3,3105,ja)}j=+g[a+176>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+184>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if(!((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)){c[ka>>2]=3443;h[ka+8>>3]=j;hc(3,3105,ka)}j=+g[a+180>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+184>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+192>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040?+O(+j)<.0001:0)break;c[la>>2]=3460;h[la+8>>3]=j;hc(3,3105,la)}while(0);j=+g[a+196>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[ma>>2]=3475;h[ma+8>>3]=j;hc(3,3105,ma)}j=+g[a+200>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[na>>2]=3481;h[na+8>>3]=j;hc(3,3105,na)}j=+g[a+212>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[oa>>2]=3488;h[oa+8>>3]=j;hc(3,3105,oa)}j=+g[a+216>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[pa>>2]=3497;h[pa+8>>3]=j;hc(3,3105,pa)}j=+g[a+204>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[qa>>2]=3507;h[qa+8>>3]=j;hc(3,3105,qa)}j=+g[a+208>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[ra>>2]=3516;h[ra+8>>3]=j;hc(3,3105,ra)}if((c[a+24>>2]|0)==1)hc(3,3526,sa);j=+g[a+88>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+112>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+120>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[ta>>2]=3549;h[ta+8>>3]=j;hc(3,3105,ta)}j=+g[a+96>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+112>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+120>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[ua>>2]=3554;h[ua+8>>3]=j;hc(3,3105,ua)}j=+g[a+92>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+116>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+120>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040){c[va>>2]=3560;h[va+8>>3]=j;hc(3,3105,va)}j=+g[a+100>>2];Da=+O(+j);do if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040){j=+g[a+116>>2];Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0<=2139095040)break;j=+g[a+120>>2];Da=+O(+j);j=(g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040?s:j}while(0);Da=+O(+j);if((g[k>>2]=Da,c[k>>2]|0)>>>0>2139095040)break;c[wa>>2]=3564;h[wa+8>>3]=j;hc(3,3105,wa)}while(0);l=a+700|0;m=cc(c[l>>2]|0)|0;if(!((b&4|0)!=0&(m|0)!=0)){hc(3,3589,ya);i=Ca;return}hc(3,3571,xa);e=d+1|0;f=0;do{td(fc(c[l>>2]|0,f)|0,b,e);f=f+1|0}while((f|0)!=(m|0));if(!za){e=0;do{hc(3,2560,Aa);e=e+1|0}while((e|0)!=(d|0))}hc(3,3584,Ba);i=Ca;return}function ud(a,b,d,e,f,h,i,j,l,m,n,o){a=a|0;b=+b;d=d|0;e=+e;f=f|0;h=+h;i=i|0;j=+j;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0.0;if(l<0.0|m<0.0){i=0;return i|0}do if((f|0)==(a|0)){r=+O(+h);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){r=+O(+b);p=(g[k>>2]=r,c[k>>2]|0)>>>0>2139095040;break}else{p=+O(+(h-b))<.0001;break}}else p=0;while(0);do if((i|0)==(d|0)){r=+O(+j);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){r=+O(+e);q=(g[k>>2]=r,c[k>>2]|0)>>>0>2139095040;break}else{q=+O(+(j-e))<.0001;break}}else q=0;while(0);do if(p)f=1;else{n=b-n;if((a|0)!=1){a=(a|0)==2;p=n>=l;if(a&(f|0)==0&p){f=1;break}}else{r=+O(+n);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){r=+O(+l);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){f=1;break}}else if(+O(+(n-l))<.0001){f=1;break}a=0;p=n>=l}f=p&(n<h&((f|0)==2&a))}while(0);do if(q)p=1;else{n=e-o;if((d|0)!=1){a=(d|0)==2;p=n>=m;if(a&(i|0)==0&p){p=1;break}}else{r=+O(+n);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){r=+O(+m);if((g[k>>2]=r,c[k>>2]|0)>>>0>2139095040){p=1;break}}else if(+O(+(n-m))<.0001){p=1;break}a=0;p=n>=m}p=p&(n<j&((i|0)==2&a))}while(0);i=f&p;return i|0}function vd(b,d,e,f,j,l,m,n){b=b|0;d=+d;e=+e;f=f|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;E=i;i=i+160|0;B=E+120|0;z=E+104|0;y=E+72|0;u=E+56|0;A=E+8|0;x=E;c[2098]=(c[2098]|0)+1;C=b+704|0;if((a[C>>0]|0)!=0?(c[b+260>>2]|0)!=(c[2097]|0):0)w=4;else if((c[b+264>>2]|0)==(f|0))D=0;else w=4;if((w|0)==4){c[b+268>>2]=0;c[b+672>>2]=-1;c[b+676>>2]=-1;g[b+680>>2]=-1.0;g[b+684>>2]=-1.0;D=1}a:do if(!(c[b+712>>2]|0)){if(m){o=b+664|0;r=+g[o>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){v=+O(+d);if((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040){o=0;w=67;break}}else if(!(+O(+(r-d))<.0001)){o=0;w=67;break}r=+g[b+668>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){v=+O(+e);if((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040){o=0;w=67;break}}else if(!(+O(+(r-e))<.0001)){o=0;w=67;break}if((c[b+672>>2]|0)!=(j|0)){o=0;w=67;break}o=(c[b+676>>2]|0)==(l|0)?o:0;w=58;break}t=c[b+268>>2]|0;if(t){v=+O(+d);p=(g[k>>2]=v,c[k>>2]|0)>>>0>2139095040;v=+O(+e);q=(g[k>>2]=v,c[k>>2]|0)>>>0>2139095040;if(p){p=0;while(1){o=b+272+(p*24|0)|0;r=+g[o>>2];v=+O(+r);if(!((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040?!(+O(+(r-d))<.0001):0))w=29;do if((w|0)==29){w=0;r=+g[b+272+(p*24|0)+4>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){if(!q)break}else if(!(+O(+(r-e))<.0001))break;if((c[b+272+(p*24|0)+8>>2]|0)==(j|0)?(c[b+272+(p*24|0)+12>>2]|0)==(l|0):0){w=58;break a}}while(0);p=p+1|0;if(p>>>0>=t>>>0){o=0;w=67;break a}}}if(q){p=0;while(1){o=b+272+(p*24|0)|0;r=+g[o>>2];v=+O(+r);do if((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040?+O(+(r-d))<.0001:0){r=+g[b+272+(p*24|0)+4>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040?!(+O(+(r-e))<.0001):0)break;if((c[b+272+(p*24|0)+8>>2]|0)==(j|0)?(c[b+272+(p*24|0)+12>>2]|0)==(l|0):0){w=58;break a}}while(0);p=p+1|0;if(p>>>0>=t>>>0){o=0;w=67;break}}}else{p=0;while(1){o=b+272+(p*24|0)|0;r=+g[o>>2];v=+O(+r);if((((((g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040?+O(+(r-d))<.0001:0)?(s=+g[b+272+(p*24|0)+4>>2],v=+O(+s),(g[k>>2]=v,c[k>>2]|0)>>>0<=2139095040):0)?+O(+(s-e))<.0001:0)?(c[b+272+(p*24|0)+8>>2]|0)==(j|0):0)?(c[b+272+(p*24|0)+12>>2]|0)==(l|0):0){w=58;break a}p=p+1|0;if(p>>>0>=t>>>0){o=0;w=67;break}}}}else{o=0;w=67}}else{r=+g[b+68>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){r=+g[b+52>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){r=+g[b+76>>2];v=+O(+r);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){r=+g[b+84>>2];v=+O(+r);r=(g[k>>2]=v,c[k>>2]|0)>>>0>2139095040?0.0:r}}}s=+g[b+72>>2];v=+O(+s);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){s=+g[b+60>>2];v=+O(+s);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){s=+g[b+76>>2];v=+O(+s);if((g[k>>2]=v,c[k>>2]|0)>>>0>2139095040){s=+g[b+84>>2];v=+O(+s);s=(g[k>>2]=v,c[k>>2]|0)>>>0>2139095040?0.0:s}}}v=r+s;r=+g[b+56>>2];s=+O(+r);if((g[k>>2]=s,c[k>>2]|0)>>>0>2139095040){r=+g[b+80>>2];s=+O(+r);if((g[k>>2]=s,c[k>>2]|0)>>>0>2139095040){r=+g[b+84>>2];s=+O(+r);r=(g[k>>2]=s,c[k>>2]|0)>>>0>2139095040?0.0:r}}s=+g[b+64>>2];F=+O(+s);if((g[k>>2]=F,c[k>>2]|0)>>>0>2139095040){s=+g[b+80>>2];F=+O(+s);if((g[k>>2]=F,c[k>>2]|0)>>>0>2139095040){s=+g[b+84>>2];F=+O(+s);s=(g[k>>2]=F,c[k>>2]|0)>>>0>2139095040?0.0:s}}r=r+s;o=b+664|0;if(!(ud(j,d,l,e,c[b+672>>2]|0,+g[o>>2],c[b+676>>2]|0,+g[b+668>>2],+g[b+680>>2],+g[b+684>>2],v,r)|0)){p=c[b+268>>2]|0;if(!p){o=0;w=67}else{q=0;while(1){o=b+272+(q*24|0)|0;if(ud(j,d,l,e,c[b+272+(q*24|0)+8>>2]|0,+g[o>>2],c[b+272+(q*24|0)+12>>2]|0,+g[b+272+(q*24|0)+4>>2],+g[b+272+(q*24|0)+16>>2],+g[b+272+(q*24|0)+20>>2],v,r)|0){w=58;break a}q=q+1|0;if(q>>>0>=p>>>0){o=0;w=67;break}}}}else w=58}while(0);if((w|0)==58)if((o|0)!=0&(D^1)){t=o+16|0;c[b+656>>2]=c[t>>2];u=o+20|0;c[b+660>>2]=c[u>>2];if(!((a[10549]|0)==0|(a[10550]|0)==0)){p=c[2098]|0;c[x>>2]=p>>>0>60?3593:3593+(60-p)|0;c[x+4>>2]=p;zj(3654,x)|0;p=c[b+716>>2]|0;if(p|0)Ab[p&127](b);if(j>>>0>2)q=10551;else q=c[(m?828:840)+(j<<2)>>2]|0;if(l>>>0>2)p=10551;else p=c[(m?828:840)+(l<<2)>>2]|0;v=+g[t>>2];F=+g[u>>2];c[A>>2]=q;c[A+4>>2]=p;h[A+8>>3]=d;h[A+16>>3]=e;h[A+24>>3]=v;h[A+32>>3]=F;c[A+40>>2]=n;zj(3735,A)|0}}else w=67;if((w|0)==67){if(a[10549]|0){p=c[2098]|0;c[u>>2]=p>>>0>60?3593:3593+(60-p)|0;c[u+4>>2]=p;c[u+8>>2]=D?3784:10551;zj(3786,u)|0;p=c[b+716>>2]|0;if(p|0)Ab[p&127](b);if(j>>>0>2)q=10551;else q=c[(m?828:840)+(j<<2)>>2]|0;if(l>>>0>2)p=10551;else p=c[(m?828:840)+(l<<2)>>2]|0;c[y>>2]=q;c[y+4>>2]=p;h[y+8>>3]=d;h[y+16>>3]=e;c[y+24>>2]=n;zj(3795,y)|0}wd(b,d,e,f,j,l,m);if(a[10549]|0){p=c[2098]|0;c[z>>2]=p>>>0>60?3593:3593+(60-p)|0;c[z+4>>2]=p;c[z+8>>2]=D?3784:10551;zj(4035,z)|0;p=c[b+716>>2]|0;if(p|0)Ab[p&127](b);if(j>>>0>2)q=10551;else q=c[(m?828:840)+(j<<2)>>2]|0;if(l>>>0>2)p=10551;else p=c[(m?828:840)+(l<<2)>>2]|0;v=+g[b+656>>2];F=+g[b+660>>2];c[B>>2]=q;c[B+4>>2]=p;h[B+8>>3]=v;h[B+16>>3]=F;c[B+24>>2]=n;zj(4044,B)|0}c[b+264>>2]=f;if(!o){p=b+268|0;o=c[p>>2]|0;if((o|0)==16){if(a[10549]|0)Aj(4076)|0;c[p>>2]=0;o=0}if(m)o=b+664|0;else{c[p>>2]=o+1;o=b+272+(o*24|0)|0}g[o>>2]=d;g[o+4>>2]=e;c[o+8>>2]=j;c[o+12>>2]=l;c[o+16>>2]=c[b+656>>2];c[o+20>>2]=c[b+660>>2];o=0}}if(!m){C=c[2098]|0;C=C+-1|0;c[2098]=C;C=c[2097]|0;m=b+260|0;c[m>>2]=C;m=(o|0)==0;m=D|m;i=E;return m|0}c[b+240>>2]=c[b+656>>2];c[b+244>>2]=c[b+660>>2];a[b+692>>0]=1;a[C>>0]=0;C=c[2098]|0;C=C+-1|0;c[2098]=C;C=c[2097]|0;m=b+260|0;c[m>>2]=C;m=(o|0)==0;m=D|m;i=E;return m|0}
// EMSCRIPTEN_END_FUNCS
var yb=[Wk,ak,Xj,Ph];var zb=[Xk,Sd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,ae,Xk,Xk,Xk,Xk];var Ab=[Yk,Dj,Hj,lf,mf,nf,xf,yf,zf,Mh,Nh,Oh,ci,di,ei,Nj,_j,Rj,Sj,Pj,ck,ek,Xe,$e,df,of,pf,sf,hf,Af,Bf,Ed,Gd,Ge,He,Hf,Mf,Rf,Wf,$f,eg,jg,og,tg,yg,Dg,Ig,Ng,Sg,Xg,ah,fh,kh,ph,xh,Bh,fi,gi,ji,oi,ui,Ai,Gi,Oi,$i,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk,Yk];var Bb=[Zk,Re,Hd,Id,Kd,Ld,Md,Nd,Od,Pd,Rd,ze,De,Qe,Lf,Qf,yh,Di,Ni,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk,Zk];var Cb=[_k,Cj,Xi,fk,Se,cf,de,fe,ge,he,ie,je,ke,Ae,Be,Ie,Gf,xi,Mi,_k,_k,_k,_k,_k,_k,_k,_k,_k,_k,_k,_k,_k];var Db=[$k,sg];var Eb=[al,Je];var Fb=[bl,rf];var Gb=[cl,ic,_i,bj,cj,Tj,Wg,ti];var Hb=[dl,$j,Vj,ni];var Ib=[el,me,ne,oe,pe,qe,re,se,te,ue,ve,Ke,Le,Me,Ne,Oe,Pe,el,el,el,el,el,el,el,el,el,el,el,el,el,el,el];var Jb=[fl];var Kb=[gl,Ej,Ij,_e,Ce,ng,Mg,Rg,eh,oh,Vh,zi,gl,gl,gl,gl];var Lb=[hl,jh];var Mb=[il,ee,le,we,xe,xg,il,il];var Nb=[jl,Te,kf,wf,Dd,bi,jl,jl];var Ob=[kl,dg];var Pb=[ll,We,ye,Vf,_f,Hg,$g,ii,Fi,ll,ll,ll,ll,ll,ll,ll];var Qb=[ml,Ee];var Rb=[nl,Jd,Qd,be,ce,ig,nl,nl];var Sb=[ol,qf];var Tb=[pl,bk,Yj,jf,vf,Ef,Cg,wh,ai,Li,pl,pl,pl,pl,pl,pl];return{_nbind_init:Vi,_i64Subtract:kk,_free:Dj,_i64Add:ok,_roundf:lk,_memset:mk,_malloc:Cj,_memcpy:qk,_bitshift64Lshr:pk,_bitshift64Shl:nk,__GLOBAL__sub_I_nbind_cc:Ue,__GLOBAL__sub_I_common_cc:uh,__GLOBAL__sub_I_Binding_cc:Zh,runPostSets:jk,stackAlloc:Ub,stackSave:Vb,stackRestore:Wb,establishStackSpace:Xb,setThrew:Yb,setTempRet0:$b,getTempRet0:ac,dynCall_viiiii:Ak,dynCall_vid:Bk,dynCall_vi:Ck,dynCall_vii:Dk,dynCall_ii:Ek,dynCall_diii:Fk,dynCall_viddi:Gk,dynCall_vidd:Hk,dynCall_iiii:Ik,dynCall_viiiiii:Jk,dynCall_di:Kk,dynCall_v:Lk,dynCall_iii:Mk,dynCall_viiddi:Nk,dynCall_dii:Ok,dynCall_i:Pk,dynCall_viiid:Qk,dynCall_viii:Rk,dynCall_viididi:Sk,dynCall_viid:Tk,dynCall_idd:Uk,dynCall_viiii:Vk}})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _nbind_init=Module["_nbind_init"]=asm["_nbind_init"];var __GLOBAL__sub_I_nbind_cc=Module["__GLOBAL__sub_I_nbind_cc"]=asm["__GLOBAL__sub_I_nbind_cc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _roundf=Module["_roundf"]=asm["_roundf"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var __GLOBAL__sub_I_common_cc=Module["__GLOBAL__sub_I_common_cc"]=asm["__GLOBAL__sub_I_common_cc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var __GLOBAL__sub_I_Binding_cc=Module["__GLOBAL__sub_I_Binding_cc"]=asm["__GLOBAL__sub_I_Binding_cc"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_viddi=Module["dynCall_viddi"]=asm["dynCall_viddi"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiddi=Module["dynCall_viiddi"]=asm["dynCall_viiddi"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viididi=Module["dynCall_viididi"]=asm["dynCall_viididi"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_idd=Module["dynCall_idd"]=asm["dynCall_idd"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];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{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw 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)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(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=true;if(Module["noInitialRun"]){shouldRunNow=false}run()}))