From 14b82b94170d192c26f4808bf34550ac0ba431ae Mon Sep 17 00:00:00 2001 From: Ondrej Stava Date: Wed, 26 Apr 2017 12:40:56 -0700 Subject: [PATCH] Updated Draco decoder javascript to the latest version. Moved all Draco related stuff into a separate sub-folder that seems to be a more common practice when it comes to multi file loaders. We can keep it as it was if preferred. We are also going to includ WebAssembly decoder in a separate PR. --- .../js/loaders/{ => draco}/DRACOLoader.js | 55 ++++++++++++++----- examples/js/loaders/draco/draco_decoder.js | 26 +++++++++ examples/js/loaders/draco_decoder.js | 25 --------- examples/webgl_loader_draco.html | 4 +- 4 files changed, 68 insertions(+), 42 deletions(-) rename examples/js/loaders/{ => draco}/DRACOLoader.js (85%) create mode 100644 examples/js/loaders/draco/draco_decoder.js delete mode 100644 examples/js/loaders/draco_decoder.js diff --git a/examples/js/loaders/DRACOLoader.js b/examples/js/loaders/draco/DRACOLoader.js similarity index 85% rename from examples/js/loaders/DRACOLoader.js rename to examples/js/loaders/draco/DRACOLoader.js index 0770b2ee7be32c..694041905dad26 100644 --- a/examples/js/loaders/DRACOLoader.js +++ b/examples/js/loaders/draco/DRACOLoader.js @@ -19,6 +19,7 @@ THREE.DRACOLoader = function(manager) { THREE.DefaultLoadingManager; this.materials = null; this.verbosity = 0; + this.dracoDecoderType = {}; }; @@ -32,7 +33,7 @@ THREE.DRACOLoader.prototype = { loader.setPath(this.path); loader.setResponseType('arraybuffer'); loader.load(url, function(blob) { - onLoad(scope.decodeDracoFile(blob)); + scope.decodeDracoFile(blob, onLoad); }, onProgress, onError); }, @@ -44,8 +45,19 @@ THREE.DRACOLoader.prototype = { this.verbosity = level; }, - decodeDracoFile: function(rawBuffer) { - const dracoDecoder = THREE.DRACOLoader.getDecoder(); + setDracoDecoderType: function(dracoDecoderType) { + this.dracoDecoderType = dracoDecoderType; + }, + + decodeDracoFile: function(rawBuffer, callback) { + const scope = this; + THREE.DRACOLoader.getDecoder(this.dracoDecoderType, + function(dracoDecoder) { + scope.decodeDracoFileInternal(rawBuffer, dracoDecoder, callback); + }); + }, + + decodeDracoFileInternal : function(rawBuffer, dracoDecoder, callback) { /* * Here is how to use Draco Javascript decoder and get the geometry. */ @@ -70,11 +82,12 @@ THREE.DRACOLoader.prototype = { console.error(errorMsg); throw new Error(errorMsg); } - return this.convertDracoGeometryTo3JS(wrapper, geometryType, buffer); + callback(this.convertDracoGeometryTo3JS(dracoDecoder, wrapper, + geometryType, buffer)); }, - convertDracoGeometryTo3JS: function(wrapper, geometryType, buffer) { - const dracoDecoder = THREE.DRACOLoader.getDecoder(); + convertDracoGeometryTo3JS: function(dracoDecoder, wrapper, geometryType, + buffer) { let dracoGeometry; const start_time = performance.now(); if (geometryType == dracoDecoder.TRIANGULAR_MESH) { @@ -263,26 +276,38 @@ THREE.DRACOLoader.prototype = { return geometry; }, - isVersionSupported: function(version) { - return THREE.DRACOLoader.getDecoder().isVersionSupported(version); + isVersionSupported: function(version, callback) { + return THREE.DRACOLoader.getDecoder(this.dracoDecoderType, + function(decoder) { return decoder.isVersionSupported(version); }); } }; /** - * Returns a singleton instance of the DracoModule decoder. Creating multiple - * copies of the decoder is expensive. + * Creates and returns a singleton instance of the DracoModule decoder. + * The module loading is done asynchronously for WebAssembly. Initialized module + * can be accessed through the callback function |onDracoModuleLoadedCallback|. */ THREE.DRACOLoader.getDecoder = (function() { let decoder; - return function() { + return function(dracoDecoderType, onDracoModuleLoadedCallback) { if (typeof DracoModule === 'undefined') { throw new Error('THREE.DRACOLoader: DracoModule not found.'); } - - decoder = decoder || DracoModule(); - - return decoder; + if (typeof decoder !== 'undefined') { + // Module already initialized. + if (typeof onDracoModuleLoadedCallback !== 'undefined') { + onDracoModuleLoadedCallback(decoder); + } + } else { + dracoDecoderType['onModuleLoaded'] = function(module) { + if (typeof onDracoModuleLoadedCallback === 'function') { + decoder = module; + onDracoModuleLoadedCallback(module); + } + }; + DracoModule(dracoDecoderType); + } }; })(); diff --git a/examples/js/loaders/draco/draco_decoder.js b/examples/js/loaders/draco/draco_decoder.js new file mode 100644 index 00000000000000..5d4a940591a4d6 --- /dev/null +++ b/examples/js/loaders/draco/draco_decoder.js @@ -0,0 +1,26 @@ +var DracoModule = function(DracoModule) { + DracoModule = DracoModule || {}; + var Module = DracoModule; + +var isRuntimeInitialized=false;var isModuleParsed=false;Module["onRuntimeInitialized"]=(function(){isRuntimeInitialized=true;if(isModuleParsed){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});Module["onModuleParsed"]=(function(){isModuleParsed=true;if(isRuntimeInitialized){if(typeof Module["onModuleLoaded"]==="function"){Module["onModuleLoaded"](Module)}}});function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]>0||version[1]>9)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoModule!=="undefined"?DracoModule: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);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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)}}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}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;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>2]=0}stop=ret+size;while(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>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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){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(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}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 updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which 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 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(HEAP32[DYNAMICTOP_PTR>>2]>=LIMIT)return false;while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory0){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)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}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["fround"]){var froundBuffer=new Float32Array(1);Math["fround"]=(function(x){froundBuffer[0]=x;return froundBuffer[0]})}Math.fround=Math["fround"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+18992;__ATINIT__.push();allocate([40,25,0,0,188,26,0,0,80,25,0,0,209,26,0,0,8,0,0,0,0,0,0,0,40,25,0,0,223,26,0,0,40,25,0,0,251,26,0,0,80,25,0,0,29,27,0,0,40,0,0,0,0,0,0,0,40,25,0,0,51,27,0,0,80,25,0,0,204,33,0,0,64,0,0,0,0,0,0,0,80,25,0,0,88,27,0,0,104,0,0,0,0,0,0,0,80,25,0,0,167,27,0,0,120,0,0,0,0,0,0,0,80,25,0,0,236,27,0,0,136,0,0,0,0,0,0,0,40,25,0,0,25,28,0,0,80,25,0,0,61,28,0,0,160,0,0,0,0,0,0,0,80,25,0,0,192,28,0,0,104,0,0,0,0,0,0,0,80,25,0,0,58,29,0,0,160,0,0,0,0,0,0,0,80,25,0,0,209,29,0,0,160,0,0,0,0,0,0,0,80,25,0,0,93,30,0,0,160,0,0,0,0,0,0,0,80,25,0,0,228,30,0,0,240,0,0,0,0,0,0,0,80,25,0,0,116,31,0,0,104,0,0,0,0,0,0,0,80,25,0,0,251,31,0,0,240,0,0,0,0,0,0,0,80,25,0,0,159,32,0,0,240,0,0,0,0,0,0,0,80,25,0,0,56,33,0,0,240,0,0,0,0,0,0,0,80,25,0,0,248,33,0,0,72,0,0,0,0,0,0,0,80,25,0,0,116,51,0,0,72,0,0,0,0,0,0,0,80,25,0,0,188,36,0,0,96,1,0,0,0,0,0,0,80,25,0,0,35,37,0,0,120,0,0,0,0,0,0,0,80,25,0,0,242,37,0,0,128,1,0,0,0,0,0,0,80,25,0,0,141,38,0,0,96,1,0,0,0,0,0,0,80,25,0,0,31,39,0,0,128,1,0,0,0,0,0,0,80,25,0,0,206,39,0,0,128,1,0,0,0,0,0,0,80,25,0,0,114,40,0,0,128,1,0,0,0,0,0,0,80,25,0,0,17,41,0,0,208,1,0,0,0,0,0,0,80,25,0,0,185,41,0,0,96,1,0,0,0,0,0,0,80,25,0,0,88,42,0,0,208,1,0,0,0,0,0,0,80,25,0,0,20,43,0,0,208,1,0,0,0,0,0,0,80,25,0,0,197,43,0,0,208,1,0,0,0,0,0,0,80,25,0,0,205,44,0,0,32,2,0,0,0,0,0,0,80,25,0,0,39,45,0,0,120,0,0,0,0,0,0,0,80,25,0,0,119,45,0,0,64,2,0,0,0,0,0,0,80,25,0,0,5,46,0,0,32,2,0,0,0,0,0,0,80,25,0,0,138,46,0,0,64,2,0,0,0,0,0,0,80,25,0,0,44,47,0,0,64,2,0,0,0,0,0,0,80,25,0,0,195,47,0,0,64,2,0,0,0,0,0,0,80,25,0,0,85,48,0,0,144,2,0,0,0,0,0,0,80,25,0,0,240,48,0,0,32,2,0,0,0,0,0,0,80,25,0,0,130,49,0,0,144,2,0,0,0,0,0,0,80,25,0,0,49,50,0,0,144,2,0,0,0,0,0,0,80,25,0,0,213,50,0,0,144,2,0,0,0,0,0,0,80,25,0,0,159,51,0,0,32,0,0,0,0,0,0,0,80,25,0,0,3,52,0,0,40,0,0,0,0,0,0,0,80,25,0,0,207,51,0,0,0,3,0,0,0,0,0,0,40,25,0,0,233,51,0,0,80,25,0,0,41,52,0,0,40,0,0,0,0,0,0,0,80,25,0,0,71,53,0,0,32,0,0,0,0,0,0,0,80,25,0,0,211,54,0,0,48,0,0,0,0,0,0,0,80,25,0,0,243,54,0,0,48,0,0,0,0,0,0,0,80,25,0,0,109,58,0,0,152,3,0,0,0,0,0,0,40,25,0,0,20,55,0,0,80,25,0,0,2,56,0,0,0,3,0,0,0,0,0,0,40,25,0,0,204,56,0,0,80,25,0,0,7,57,0,0,0,3,0,0,0,0,0,0,80,25,0,0,176,57,0,0,0,3,0,0,0,0,0,0,40,25,0,0,185,58,0,0,80,25,0,0,231,58,0,0,152,3,0,0,0,0,0,0,80,25,0,0,61,59,0,0,152,3,0,0,0,0,0,0,40,25,0,0,84,70,0,0,80,25,0,0,180,70,0,0,216,3,0,0,0,0,0,0,80,25,0,0,97,70,0,0,232,3,0,0,0,0,0,0,40,25,0,0,130,70,0,0,80,25,0,0,143,70,0,0,200,3,0,0,0,0,0,0,80,25,0,0,165,71,0,0,192,3,0,0,0,0,0,0,80,25,0,0,214,71,0,0,216,3,0,0,0,0,0,0,80,25,0,0,178,71,0,0,16,4,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,104,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,208,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,19,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,176,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,12,0,0,0,23,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,144,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,12,0,0,0,25,0,0,0,26,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,32,1,0,0,15,0,0,0,24,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,16,1,0,0,15,0,0,0,25,0,0,0,29,0,0,0,12,0,0,0,30,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,1,0,0,26,0,0,0,27,0,0,0,31,0,0,0,12,0,0,0,32,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,224,0,0,0,28,0,0,0,29,0,0,0,33,0,0,0,12,0,0,0,34,0,0,0,35,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,14,0,0,0,15,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,48,1,0,0,30,0,0,0,31,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,23,0,0,0,36,0,0,0,24,0,0,0,0,0,0,0,64,1,0,0,13,0,0,0,32,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,37,0,0,0,25,0,0,0,0,0,0,0,80,1,0,0,33,0,0,0,34,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,42,0,0,0,43,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,0,2,0,0,33,0,0,0,35,0,0,0,44,0,0,0,39,0,0,0,45,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,42,0,0,0,43,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,240,1,0,0,33,0,0,0,36,0,0,0,46,0,0,0,39,0,0,0,47,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,42,0,0,0,43,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,224,1,0,0,37,0,0,0,38,0,0,0,48,0,0,0,39,0,0,0,49,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,30,0,0,0,31,0,0,0,42,0,0,0,43,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,192,1,0,0,39,0,0,0,40,0,0,0,50,0,0,0,39,0,0,0,51,0,0,0,52,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,42,0,0,0,43,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,176,1,0,0,33,0,0,0,41,0,0,0,53,0,0,0,39,0,0,0,54,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,42,0,0,0,43,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,160,1,0,0,33,0,0,0,42,0,0,0,55,0,0,0,39,0,0,0,56,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,42,0,0,0,43,0,0,0,31,0,0,0,32,0,0,0,0,0,0,0,144,1,0,0,43,0,0,0,44,0,0,0,57,0,0,0,39,0,0,0,58,0,0,0,41,0,0,0,26,0,0,0,27,0,0,0,36,0,0,0,37,0,0,0,42,0,0,0,43,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,112,1,0,0,45,0,0,0,46,0,0,0,59,0,0,0,39,0,0,0,60,0,0,0,61,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,16,2,0,0,33,0,0,0,47,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,66,0,0,0,67,0,0,0,37,0,0,0,38,0,0,0,0,0,0,0,192,2,0,0,33,0,0,0,48,0,0,0,68,0,0,0,63,0,0,0,69,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,66,0,0,0,67,0,0,0,39,0,0,0,40,0,0,0,0,0,0,0,176,2,0,0,33,0,0,0,49,0,0,0,70,0,0,0,63,0,0,0,71,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,66,0,0,0,67,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,160,2,0,0,50,0,0,0,51,0,0,0,72,0,0,0,63,0,0,0,73,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,46,0,0,0,47,0,0,0,66,0,0,0,67,0,0,0,43,0,0,0,44,0,0,0,0,0,0,0,128,2,0,0,52,0,0,0,53,0,0,0,74,0,0,0,63,0,0,0,75,0,0,0,76,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,66,0,0,0,67,0,0,0,45,0,0,0,46,0,0,0,0,0,0,0,112,2,0,0,33,0,0,0,54,0,0,0,77,0,0,0,63,0,0,0,78,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,66,0,0,0,67,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,96,2,0,0,33,0,0,0,55,0,0,0,79,0,0,0,63,0,0,0,80,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,66,0,0,0,67,0,0,0,49,0,0,0,50,0,0,0,0,0,0,0,80,2,0,0,56,0,0,0,57,0,0,0,81,0,0,0,63,0,0,0,82,0,0,0,65,0,0,0,42,0,0,0,43,0,0,0,52,0,0,0,53,0,0,0,66,0,0,0,67,0,0,0,51,0,0,0,52,0,0,0,0,0,0,0,48,2,0,0,58,0,0,0,59,0,0,0,83,0,0,0,63,0,0,0,84,0,0,0,85,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,66,0,0,0,67,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,208,2,0,0,60,0,0,0,61,0,0,0,1,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,224,2,0,0,8,0,0,0,62,0,0,0,2,0,0,0,3,0,0,0,61,0,0,0,86,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,2,0,0,63,0,0,0,64,0,0,0,62,0,0,0,87,0,0,0,0,0,0,0,8,3,0,0,8,0,0,0,65,0,0,0,2,0,0,0,3,0,0,0,63,0,0,0,88,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,3,0,0,6,0,0,0,66,0,0,0,1,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,40,3,0,0,8,0,0,0,67,0,0,0,8,0,0,0,3,0,0,0,65,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,89,0,0,0,0,0,0,0,56,3,0,0,68,0,0,0,69,0,0,0,8,0,0,0,90,0,0,0,66,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,91,0,0,0,92,0,0,0,67,0,0,0,68,0,0,0,93,0,0,0,0,0,0,0,72,3,0,0,70,0,0,0,71,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,96,3,0,0,72,0,0,0,73,0,0,0,73,0,0,0,98,0,0,0,0,0,0,0,88,3,0,0,74,0,0,0,75,0,0,0,76,0,0,0,0,0,0,192,0,0,0,0,120,3,0,0,77,0,0,0,78,0,0,0,74,0,0,0,99,0,0,0,0,0,0,0,112,3,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,0,136,3,0,0,82,0,0,0,83,0,0,0,75,0,0,0,100,0,0,0,0,0,0,0,160,3,0,0,84,0,0,0,85,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,0,0,0,0,176,3,0,0,86,0,0,0,87,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,40,23,0,0,5,0,0,0,0,0,0,0,0,0,0,0,109,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,15,0,0,0,44,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,2,0,0,0,75,70,0,0,0,0,0,0,200,3,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,240,3,0,0,88,0,0,0,92,0,0,0,90,0,0,0,91,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,94,0,0,0,110,0,0,0,99,111,114,101,47,114,97,110,115,95,98,105,116,95,100,101,99,111,100,101,114,46,99,99,0,40,97,110,115,45,62,115,116,97,116,101,41,32,62,61,32,40,40,49,48,50,52,117,32,42,32,52,41,41,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,40,97,110,115,45,62,115,116,97,116,101,41,32,60,32,40,40,49,48,50,52,117,32,42,32,52,41,32,42,32,50,53,54,41,0,40,112,41,32,60,61,32,40,49,46,48,41,0,46,47,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,98,105,116,95,99,111,100,105,110,103,95,115,104,97,114,101,100,46,104,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,68,82,65,67,79,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,99,97,110,111,110,105,99,97,108,105,122,101,100,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,49,93,41,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,53,52,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,67,97,110,111,110,105,99,97,108,105,122,101,100,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,52,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,67,111,110,115,116,114,97,105,110,101,100,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,100,101,99,111,100,101,114,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,53,80,114,101,100,105,99,116,105,111,110,68,101,103,114,101,101,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,69,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,56,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,86,97,108,101,110,99,101,68,101,99,111,100,101,114,69,69,69,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,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,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,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,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,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,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,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,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;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 __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&&!info.rethrown){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}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>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,caught:false,rethrown:false};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;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["_i64Add"]=_i64Add;var PTHREAD_SPECIFIC_NEXT_KEY=1;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 _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}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}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;Module["_llvm_bswap_i16"]=_llvm_bswap_i16;Module["_pthread_self"]=_pthread_self;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>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;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_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;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_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_v(index){try{Module["dynCall_v"](index)}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_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_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,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"_pthread_cleanup_push":_pthread_cleanup_push,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"_pthread_once":_pthread_once,"___syscall146":___syscall146,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___gxx_personality_v0":___gxx_personality_v0,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var asm=(function(global,env,buffer) { +"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.DYNAMICTOP_PTR|0;var u=env.tempDoublePtr|0;var v=env.ABORT|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,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.max;var ca=global.Math.clz32;var da=global.Math.fround;var ea=env.abort;var fa=env.assert;var ga=env.enlargeMemory;var ha=env.getTotalMemory;var ia=env.abortOnCannotGrowMemory;var ja=env.invoke_iiii;var ka=env.invoke_viiiii;var la=env.invoke_vi;var ma=env.invoke_iiiiiii;var na=env.invoke_ii;var oa=env.invoke_viii;var pa=env.invoke_v;var qa=env.invoke_viiiiii;var ra=env.invoke_iii;var sa=env.invoke_viiii;var ta=env._pthread_cleanup_pop;var ua=env._pthread_getspecific;var va=env._pthread_setspecific;var wa=env._pthread_cleanup_push;var xa=env.___cxa_throw;var ya=env._pthread_key_create;var za=env.___syscall6;var Aa=env.___setErrNo;var Ba=env._abort;var Ca=env._pthread_once;var Da=env.___syscall146;var Ea=env.___cxa_begin_catch;var Fa=env._emscripten_memcpy_big;var Ga=env.___gxx_personality_v0;var Ha=env.___syscall140;var Ia=env.___resumeException;var Ja=env.___cxa_find_matching_catch;var Ka=env.___assert_fail;var La=env.___cxa_pure_virtual;var Ma=env.___cxa_allocate_exception;var Na=env.__ZSt18uncaught_exceptionv;var Oa=da(0);const Pa=da(0);function Qa(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} +// EMSCRIPTEN_START_FUNCS +function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(se(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+1048576|0;k[o>>2]=d;d=d>>>0>268435455;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<1048576){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>18)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(te(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+262144|0;k[o>>2]=d;d=d>>>0>67108863;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<262144){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>16)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ue(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+131072|0;k[o>>2]=d;d=d>>>0>33554431;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<131072){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>15)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ve(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+32768|0;k[o>>2]=d;d=d>>>0>8388607;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<32768){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>13)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(we(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}q=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;m=c+14|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;if((j[m>>1]|0)!=(j[g+14>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+10|0;i=c+12|0;l=c+14|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=j[c+8>>1]|0;d=c;while(1){if(m<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;if((j[l>>1]|0)!=(j[g+14>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Qc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}p=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;l=c+20|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;if((k[l>>2]|0)!=(k[g+20>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+12|0;i=c+16|0;j=c+20|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=k[c+8>>2]|0;d=c;while(1){if((l|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;if((k[j>>2]|0)!=(k[g+20>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}q=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;m=c+11|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;if((i[m>>0]|0)!=(i[g+11>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+9|0;j=c+10|0;l=c+11|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=i[c+8>>0]|0;d=c;while(1){if(m<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;if((i[l>>0]|0)!=(i[g+11>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function Sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;u=e>>>0>1073741823?-1:e<<2;y=$m(u)|0;Vi(y|0,0,u|0)|0;z=$m(u)|0;Vi(z|0,0,u|0)|0;Sg(x,y,b,c,0);u=k[a+24>>2]|0;v=a+32|0;f=k[v>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;t=h-g|0;w=t>>2;if((t|0)<=4){an(z);an(y);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=u+12|0;t=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){A=6;break}p=k[g+(d<<2)>>2]|0;if(r)Vi(y|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;g=0;n=p;do{a=k[o+(n<<2)>>2]|0;if((a|0)>=0){i=k[u>>2]|0;h=(a>>>0)%3|0;j=k[q>>2]|0;m=k[j+(k[i+(((a>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){i=$(m,e)|0;h=$(l,e)|0;a=$(f,e)|0;if(r){f=0;do{k[z+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(r){f=0;do{m=y+(f<<2)|0;k[m>>2]=(k[m>>2]|0)+(k[z+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);f=$(d,e)|0;if(!g)A=30;else{if(r){a=0;do{p=y+(a<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}Sg(x,y,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;A=30}if((A|0)==30){A=0;Sg(x,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(w|0)){A=3;break}f=k[v>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((A|0)==3){an(z);an(y);return 1}else if((A|0)==6)gm(f);return 0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;m=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;j=m;m=m+4|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;a=c;k[a>>2]=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[a+4>>2]=m;c=c+8|0;k[c>>2]=0;k[c+4>>2]=0;c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;Wj(c|0,(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=da(0.0);c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;Wj(c|0,(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=zd(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=vd(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=id(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=cd(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=Gc(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=Hc(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function Uc(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,l=0,m=0,n=0,o=0,p=0.0;o=b+8|0;f=k[o>>2]|0;n=c+4|0;l=(k[n>>2]|0)-f|0;e=c;k[e>>2]=(k[c>>2]|0)-f;k[e+4>>2]=l;e=(k[d>>2]|0)-f|0;l=d+4|0;f=(k[l>>2]|0)-f|0;g=d;k[g>>2]=e;k[g+4>>2]=f;p=+O(+(+(e|0)))+ +O(+(+(f|0)));g=k[o>>2]|0;if(!(p<=+(g|0))){e=k[c>>2]|0;f=k[n>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){h=-1;i=-1}else m=6;else{h=1;i=1}else if((f|0)<1){h=-1;i=-1}else m=6;if((m|0)==6){h=(e|0)>0?1:-1;i=(f|0)>0?1:-1}j=$(g,h)|0;g=$(g,i)|0;e=(e<<1)-j|0;k[c>>2]=e;f=(f<<1)-g|0;k[n>>2]=f;if(($(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;k[c>>2]=(f+j|0)/2|0;k[n>>2]=(e+g|0)/2|0;e=k[d>>2]|0;f=k[l>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else m=14;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else m=14;if((m|0)==14){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=k[o>>2]|0;i=$(j,g)|0;j=$(j,h)|0;e=(e<<1)-i|0;k[d>>2]=e;f=(f<<1)-j|0;k[l>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[d>>2]=f;e=0-e|0}else k[d>>2]=f;i=(f+i|0)/2|0;k[d>>2]=i;f=(e+j|0)/2|0;k[l>>2]=f;e=i}if(!e){if(f)m=22}else if(!((e|0)<0&(f|0)<1))m=22;if((m|0)==22){do if(!e)if(!f){f=k[n>>2]|0;e=c;k[e>>2]=k[c>>2];k[e+4>>2]=f;e=k[d>>2]|0;f=k[l>>2]|0;break}else{g=(f|0)>0?3:1;m=29;break}else if((e|0)>0){g=(f>>31)+2|0;m=29;break}else{g=(f|0)<1?0:3;m=29;break}while(0);a:do if((m|0)==29){e=k[c>>2]|0;f=k[n>>2]|0;switch(g|0){case 1:{m=c;k[m>>2]=f;k[m+4>>2]=0-e;e=k[l>>2]|0;f=0-(k[d>>2]|0)|0;break a}case 2:{m=c;k[m>>2]=0-e;k[m+4>>2]=0-f;e=0-(k[d>>2]|0)|0;f=0-(k[l>>2]|0)|0;break a}case 3:{m=c;k[m>>2]=0-f;k[m+4>>2]=e;e=0-(k[l>>2]|0)|0;f=k[d>>2]|0;break a}default:{m=c;k[m>>2]=e;k[m+4>>2]=f;e=k[d>>2]|0;f=k[l>>2]|0;break a}}}while(0);m=d;k[m>>2]=e;k[m+4>>2]=f}e=(k[c>>2]|0)-e|0;k[a>>2]=e;g=(k[n>>2]|0)-f|0;h=a+4|0;k[h>>2]=g;f=k[o>>2]<<1;if((f|0)<(e|0))Ka(9367,8780,225,9391);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(g|0))Ka(9367,8780,225,9391);if((g|0)>=0){b=g;k[h>>2]=b;return}b=(k[b+4>>2]|0)+g|0;k[h>>2]=b;return}function Vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=$m(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)an(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;i=k[o>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;if((f|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;f=(f>>2)+-1|0;while(1){if(h-g>>2>>>0<=f>>>0){f=22;break}k[z>>2]=k[g+(f<<2)>>2];k[y>>2]=k[z>>2];pc(a,y,b,f);n=$(f,e)|0;m=b+(n<<2)|0;d=k[x>>2]|0;if((k[w>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[p>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;i=k[q>>2]|0;h=i+(l<<2)|0;if((j|0)<(g|0)){k[h>>2]=g;break}else{k[h>>2]=j;break}}else{i=k[q>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[w>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+n<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[w>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+n<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[t>>2]|0)){if((i|0)>(k[v>>2]|0))k[h>>2]=i-(k[u>>2]|0)}else k[h>>2]=(k[u>>2]|0)+i;g=g+1|0}while((g|0)<(k[w>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=19;break}i=k[o>>2]|0;g=k[i>>2]|0;h=k[i+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)gm(i);return 0}function Wc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;u=e>>>0>1073741823?-1:e<<2;y=$m(u)|0;Vi(y|0,0,u|0)|0;z=$m(u)|0;Vi(z|0,0,u|0)|0;Ug(x,y,b,c,0);u=k[a+24>>2]|0;v=a+32|0;f=k[v>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;t=h-g|0;w=t>>2;if((t|0)<=4){an(z);an(y);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=u+12|0;t=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){A=6;break}p=k[g+(d<<2)>>2]|0;if(r)Vi(y|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;g=0;n=p;do{a=k[o+(n<<2)>>2]|0;if((a|0)>=0){i=k[u>>2]|0;h=(a>>>0)%3|0;j=k[q>>2]|0;m=k[j+(k[i+(((a>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){i=$(m,e)|0;h=$(l,e)|0;a=$(f,e)|0;if(r){f=0;do{k[z+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(r){f=0;do{m=y+(f<<2)|0;k[m>>2]=(k[m>>2]|0)+(k[z+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=g+1|0}}f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);f=$(d,e)|0;if(!g)A=30;else{if(r){a=0;do{p=y+(a<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}Ug(x,y,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;A=30}if((A|0)==30){A=0;Ug(x,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(w|0)){A=3;break}f=k[v>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((A|0)==3){an(z);an(y);return 1}else if((A|0)==6)gm(f);return 0}function Xc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=$m(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)an(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;i=k[o>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;if((f|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;f=(f>>2)+-1|0;while(1){if(h-g>>2>>>0<=f>>>0){f=22;break}k[z>>2]=k[g+(f<<2)>>2];k[y>>2]=k[z>>2];mc(a,y,b,f);n=$(f,e)|0;m=b+(n<<2)|0;d=k[x>>2]|0;if((k[w>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[p>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;i=k[q>>2]|0;h=i+(l<<2)|0;if((j|0)<(g|0)){k[h>>2]=g;break}else{k[h>>2]=j;break}}else{i=k[q>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[w>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+n<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[w>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+n<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[t>>2]|0)){if((i|0)>(k[v>>2]|0))k[h>>2]=i-(k[u>>2]|0)}else k[h>>2]=(k[u>>2]|0)+i;g=g+1|0}while((g|0)<(k[w>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=19;break}i=k[o>>2]|0;g=k[i>>2]|0;h=k[i+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)gm(i);return 0}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;u=w;v=b+24|0;j=i[v>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;a=$(n,m)|0;k[u>>2]=k[268];k[u+4>>2]=k[269];k[u+8>>2]=k[270];k[u+12>>2]=k[271];d=c+4|0;g=k[d>>2]|0;f=k[c>>2]|0;e=g-f>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=f+(a<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else jh(c,a-e|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=hd(b,o,u)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=wc(b,o,u)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=$c(b,o,u)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Tc(b,o,u)|0;break}default:break a}if(!a){a=0;d=29;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[u+(a<<2)>>2];a=a+1|0;if((a|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=hd(b,o,u)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=wc(b,o,u)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=$c(b,o,u)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=Tc(b,o,u)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function Zc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;v=a+8|0;k[v>>2]=e;s=e>>>0>1073741823?-1:e<<2;w=$m(s)|0;Vi(w|0,0,s|0)|0;x=$m(s)|0;Vi(x|0,0,s|0)|0;Sg(v,w,b,c,0);s=k[a+24>>2]|0;t=a+32|0;f=k[t>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;r=h-g|0;u=r>>2;if((r|0)<=4){an(x);an(w);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){C=6;break}m=k[g+(d<<2)>>2]|0;if(o)Vi(w|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=w+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=28;else{if(o){a=0;do{m=w+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}Sg(v,w,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;C=28}if((C|0)==28){C=0;Sg(v,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(u|0)){C=3;break}f=k[t>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((C|0)==3){an(x);an(w);return 1}else if((C|0)==6)gm(f);return 0}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=da((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);d=da(f*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b>>>0);o[c+4>>2]=f;f=da(e>>>0);o[c+8>>2]=f;h=1;return h|0}else{f=da(d*da(2.32830644e-10));o[c>>2]=f;f=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=f;f=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=f;h=1;return h|0}}case 4:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b>>>0);o[c+4>>2]=f;f=da(e>>>0);o[c+8>>2]=f;h=1;return h|0}else{f=da(d*da(2.32830644e-10));o[c>>2]=f;f=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=f;f=da(da(e>>>0)*da(2.32830644e-10));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;m=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;j=m;m=m+4|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;a=c;k[a>>2]=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[a+4>>2]=m;o[c+8>>2]=da(0.0);c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;Wj(c|0,(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;Wj(c|0,(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=Jd(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=Cd(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=td(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=nd(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=_c(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=ad(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=da(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);d=da(f*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b|0);o[c+4>>2]=f;f=da(e|0);o[c+8>>2]=f;h=1;return h|0}else{f=da(d*da(4.65661287e-10));o[c>>2]=f;f=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=f;f=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=f;h=1;return h|0}}case 4:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=h+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b|0);o[c+4>>2]=f;f=da(e|0);o[c+8>>2]=f;h=1;return h|0}else{f=da(d*da(4.65661287e-10));o[c>>2]=f;f=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=f;f=da(da(e|0)*da(4.65661287e-10));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function bd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;v=a+8|0;k[v>>2]=e;s=e>>>0>1073741823?-1:e<<2;w=$m(s)|0;Vi(w|0,0,s|0)|0;x=$m(s)|0;Vi(x|0,0,s|0)|0;Ug(v,w,b,c,0);s=k[a+24>>2]|0;t=a+32|0;f=k[t>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;r=h-g|0;u=r>>2;if((r|0)<=4){an(x);an(w);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){C=6;break}m=k[g+(d<<2)>>2]|0;if(o)Vi(w|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;i=0;j=m;do{if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(y=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(y|0)>=0):0)?(B=k[q>>2]|0,h=k[n>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(d|0)&(A|0)<(d|0)&(B|0)<(d|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(o){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(o){f=0;do{h=w+(f<<2)|0;k[h>>2]=(k[h>>2]|0)+(k[x+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}i=i+1|0}f=(((j>>>0)%3|0|0)==0?2:-1)+j|0;do if(!(k[l+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f}while((j|0)>-1);f=$(d,e)|0;if(!i)C=28;else{if(o){a=0;do{m=w+(a<<2)|0;k[m>>2]=(k[m>>2]|0)/(i|0)|0;a=a+1|0}while((a|0)!=(e|0))}Ug(v,w,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;C=28}if((C|0)==28){C=0;Ug(v,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(u|0)){C=3;break}f=k[t>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((C|0)==3){an(x);an(w);return 1}else if((C|0)==6)gm(f);return 0}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[f>>0]|l[f+1>>0]<<8)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<16>>16);d=da(f<<16>>16)}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));d=da(da(f<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,j|0,16)|0)&65535;f=j&65535;a=(Zk(g|0,j|0,48)|0)&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;e=da(f<<16>>16);o[c+8>>2]=e;e=da(a<<16>>16);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;e=da(da(f<<16>>16)/da(32767.0));o[c+8>>2]=e;e=da(da(a<<16>>16)/da(32767.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;w=x;if(!(Vd(a,b)|0)){w=0;r=x;return w|0}p=b+8|0;o=p;d=k[o>>2]|0;o=k[o+4>>2]|0;s=b+16|0;c=s;f=k[c>>2]|0;c=sl(f|0,k[c+4>>2]|0,4,0)|0;e=M;if((o|0)<(e|0)|(o|0)==(e|0)&d>>>0>>0){w=0;r=x;return w|0}f=(k[b>>2]|0)+f|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=s;k[g>>2]=c;k[g+4>>2]=e;g=a+96|0;f=(k[g>>2]|0)+f|0;k[g>>2]=f;g=a+100|0;k[w>>2]=0;h=a+104|0;n=k[h>>2]|0;m=k[g>>2]|0;j=n-m>>2;if(f>>>0<=j>>>0)if(f>>>0>>0?(q=m+(f<<2)|0,(n|0)!=(q|0)):0){k[h>>2]=n+(~((n+-4-q|0)>>>2)<<2);f=o}else f=o;else{Ag(g,f-j|0,w);d=p;c=s;f=k[d+4>>2]|0;e=k[c+4>>2]|0;d=k[d>>2]|0;c=k[c>>2]|0}if(!((f|0)>(e|0)|(f|0)==(e|0)&d>>>0>c>>>0)){w=0;r=x;return w|0}q=i[(k[b>>2]|0)+c>>0]|0;p=sl(c|0,e|0,1,0)|0;k[s>>2]=p;k[s+4>>2]=M;if(q<<24>>24){w=0;r=x;return w|0}k[a+120>>2]=2;k[a+124>>2]=7;o=a+128|0;p=a+132|0;d=k[p>>2]|0;g=k[o>>2]|0;e=d-g|0;f=(e|0)/12|0;c=d;if(f>>>0>=6){if((e|0)!=72?(t=g+72|0,(c|0)!=(t|0)):0){do{d=c+-12|0;k[p>>2]=d;e=k[d>>2]|0;f=e;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e);c=k[p>>2]|0}}while((c|0)!=(t|0));d=c}}else{mf(o,6-f|0);d=k[p>>2]|0}n=a+140|0;c=k[o>>2]|0;j=(d-c|0)/12|0;e=a+144|0;h=k[e>>2]|0;g=k[n>>2]|0;f=h-g>>2;if(j>>>0<=f>>>0){if(j>>>0>>0?(u=g+(j<<2)|0,(h|0)!=(u|0)):0)k[e>>2]=h+(~((h+-4-u|0)>>>2)<<2)}else{jh(n,j-f|0);d=k[p>>2]|0;c=k[o>>2]|0}if((d|0)==(c|0)){w=1;r=x;return w|0}m=0;do{ci(w,b);c=k[w>>2]|0;if(c|0){d=k[o>>2]|0;e=d+(m*12|0)|0;f=d+(m*12|0)+4|0;j=k[f>>2]|0;h=k[e>>2]|0;g=j-h>>2;if(c>>>0<=g>>>0){if(c>>>0>>0?(v=h+(c<<2)|0,(j|0)!=(v|0)):0)k[f>>2]=j+(~((j+-4-v|0)>>>2)<<2)}else{jh(e,c-g|0);d=k[o>>2]|0;c=k[w>>2]|0}zh(c,1,b,k[d+(m*12|0)>>2]|0)|0;k[(k[n>>2]|0)+(m<<2)>>2]=k[w>>2]}m=m+1|0}while(m>>>0<(((k[p>>2]|0)-(k[o>>2]|0)|0)/12|0)>>>0);c=1;r=x;return c|0}function ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}p=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+10|0;l=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+10|0;i=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=j[c+8>>1]|0;d=c;while(1){if(l<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}o=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+12|0;j=c+16|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+12|0;i=c+16|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=k[c+8>>2]|0;d=c;while(1){if((j|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}p=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}j=c+9|0;l=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+9|0;j=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=i[c+8>>0]|0;d=c;while(1){if(l<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=_e(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=Xe(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=Te(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=Qe(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=Me(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=Ne(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[f>>0]|l[f+1>>0]<<8)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&65535);d=da(f&65535)}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));d=da(da(f&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,j|0,16)|0)&65535;f=j&65535;a=(Zk(g|0,j|0,48)|0)&65535;d=da(g&65535);if(h){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;e=da(f&65535);o[c+8>>2]=e;e=da(a&65535);o[c+12>>2]=e;j=1;return j|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;e=da(da(f&65535)/da(65535.0));o[c+8>>2]=e;e=da(da(a&65535)/da(65535.0));o[c+12>>2]=e;j=1;return j|0}}default:{j=0;return j|0}}return 0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;x=A;y=A+64|0;z=b+8|0;u=z;v=k[u>>2]|0;u=k[u+4>>2]|0;w=b+16|0;d=w;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){z=0;r=A;return z|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=w;k[u>>2]=d;k[u+4>>2]=e;if((v|0)<1){z=0;r=A;return z|0}u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else jh(u,v-d|0);s=k[a+20>>2]|0;t=x+60|0;q=0;while(1){n=z;m=k[n>>2]|0;n=k[n+4>>2]|0;a=w;d=k[a>>2]|0;a=k[a+4>>2]|0;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=sl(d|0,a|0,1,0)|0;h=M;g=w;k[g>>2]=c;k[g+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=sl(d|0,a|0,2,0)|0;g=M;f=w;k[f>>2]=c;k[f+4>>2]=g;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>c>>>0)){c=0;d=27;break}g=i[o+c>>0]|0;c=sl(d|0,a|0,3,0)|0;f=M;e=w;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=sl(d|0,a|0,4,0)|0;c=w;k[c>>2]=f;k[c+4>>2]=M;c=sl(d|0,a|0,6,0)|0;d=M;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}a=o+f|0;a=l[a>>0]|l[a+1>>0]<<8;n=w;k[n>>2]=c;k[n+4>>2]=d;n=h&255;wj(x);o=$(Kj(n)|0,g&255)|0;Uh(x,p&255,0,g,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[t>>1]=a;a=xk(88)|0;yj(a,x);k[y>>2]=a;a=Zg(s,y)|0;g=k[y>>2]|0;k[y>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}p=g+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;cn(d)}cn(c)}cn(g)}k[(k[u>>2]|0)+(q<<2)>>2]=a;q=q+1|0;if((q|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function kd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;g=a+92|0;h=k[b>>2]|0;i=(h|0)<0;j=h+1|0;do if(!i){b=((j|0)%3|0|0)==0?h+-2|0:j;if(!((h>>>0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(l=((j|0)%3|0|0)==0?h+-2|0:j,(l|0)>=0):0)b=k[(k[b>>2]|0)+(((l>>>0)/3|0)*12|0)+(((l>>>0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ca(g|0)|0)+33-(ca(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=ck(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((ck(h|0)|0)>>>0);return (M=o,p)|0}f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=sl(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;al(j|0,c|0,d|0,n|0)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=al(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+92|0;c=k[b>>2]|0;d=(c|0)<0;b=c+1|0;do if(!d){b=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){e=c+2|0;f=b;break}else{e=c+-1|0;f=b;break}}else{e=c;f=c}while(0);switch(k[a+112>>2]|0){case 1:case 0:{if((f|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;break}case 5:{if(d)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((f|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;break}case 3:{if(d)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((f|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+1;break}case 7:{if(d)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((f|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;e=c+(b<<2)|0;k[e>>2]=(k[e>>2]|0)+2;break}default:{}}if((f|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;b=k[(k[a+100>>2]|0)+(b<<2)>>2]|0;c=k[a+120>>2]|0;if((b|0)<(c|0)){g=c;g=g-c|0;a=a+116|0;k[a>>2]=g;return}g=k[a+124>>2]|0;g=(b|0)>(g|0)?g:b;g=g-c|0;a=a+116|0;k[a>>2]=g;return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=da((l[e>>0]|l[e+1>>0]<<8)<<16>>16);d=da(f/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;e=a+40|0;h=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<16>>16)}else{d=da(d/da(32767.0));o[c>>2]=d;d=da(da(b<<16>>16)/da(32767.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b<<16>>16);o[c+4>>2]=f;f=da(e<<16>>16);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(32767.0));o[c>>2]=f;f=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=f;f=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=f;h=1;return h|0}}case 4:{h=k[b>>2]|0;e=a+48|0;g=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,e|0,16)|0)&65535;e=e&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;f=da(b<<16>>16);o[c+4>>2]=f;f=da(e<<16>>16);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(32767.0));o[c>>2]=f;f=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=f;f=da(da(e<<16>>16)/da(32767.0));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;if((u|0)<1){u=0;return u|0}s=a+16|0;h=$((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[s>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else jh(s,h-d|0);q=c+8|0;o=q;j=k[o>>2]|0;o=k[o+4>>2]|0;r=c+16|0;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((o|0)>(g|0)|(o|0)==(g|0)&j>>>0>f>>>0)){u=0;return u|0}m=k[c>>2]|0;p=i[m+f>>0]|0;d=sl(f|0,g|0,1,0)|0;e=M;n=r;k[n>>2]=d;k[n+4>>2]=e;a:do if(!(p<<24>>24)){if(!((o|0)>(e|0)|(o|0)==(e|0)&j>>>0>d>>>0)){u=0;return u|0}l=i[m+d>>0]|0;e=sl(f|0,g|0,2,0)|0;f=M;g=r;k[g>>2]=e;k[g+4>>2]=f;g=k[t>>2]|0;n=k[s>>2]|0;d=g-n|0;h=n;if(l<<24>>24==4){q=sl(e|0,f|0,d|0,0)|0;p=M;if((o|0)<(p|0)|(o|0)==(p|0)&j>>>0>>0){u=0;return u|0}else{Ii(h|0,m+e|0,d|0)|0;q=r;q=sl(k[q>>2]|0,k[q+4>>2]|0,d|0,0)|0;k[r>>2]=q;k[r+4>>2]=M;break}}if(d|0){p=l&255;m=l&255;d=0;l=o;h=n;while(1){o=sl(e|0,f|0,p|0,0)|0;n=M;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){Ii(h+(d<<2)|0,(k[c>>2]|0)+e|0,m|0)|0;e=r;e=sl(k[e>>2]|0,k[e+4>>2]|0,p|0,0)|0;f=M;h=r;k[h>>2]=e;k[h+4>>2]=f;h=k[s>>2]|0;g=k[t>>2]|0}d=d+1|0;if(d>>>0>=g-h>>2>>>0)break a;j=q;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(zh(h,u,c,k[s>>2]|0)|0)){u=0;return u|0}while(0);g=k[s>>2]|0;d=k[t>>2]|0;do if((g|0)==(d|0))f=a+28|0;else{f=a+28|0;e=k[f>>2]|0;if(!e)e=g;else{if(Va[k[(k[e>>2]|0)+40>>2]&127](e)|0)break;e=k[s>>2]|0;d=k[t>>2]|0}_j(e,d-e>>2,e)}while(0);d=k[f>>2]|0;if(d|0){if(!(Za[k[(k[d>>2]|0)+36>>2]&127](d,c)|0)){u=0;return u|0}e=k[s>>2]|0;d=k[t>>2]|0;if((e|0)!=(d|0)?(t=k[f>>2]|0,!(Ua[k[(k[t>>2]|0)+52>>2]&63](t,e,e,d-e>>2,u,k[b>>2]|0)|0)):0){u=0;return u|0}}u=1;return u|0}function pd(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;o=b+8|0;r=k[o>>2]|0;g=(k[c>>2]|0)-r|0;n=c+4|0;h=(k[n>>2]|0)-r|0;e=c;k[e>>2]=g;k[e+4>>2]=h;s=+O(+(+(g|0)))+ +O(+(+(h|0)));e=k[o>>2]|0;p=s<=+(e|0);if(!p){if((g|0)>-1)if((h|0)<=-1)if((g|0)<1){i=-1;j=-1}else q=6;else{i=1;j=1}else if((h|0)<1){i=-1;j=-1}else q=6;if((q|0)==6){i=(g|0)>0?1:-1;j=(h|0)>0?1:-1}m=$(e,i)|0;l=$(e,j)|0;e=(g<<1)-m|0;k[c>>2]=e;f=(h<<1)-l|0;k[n>>2]=f;if(($(i,j)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;g=(f+m|0)/2|0;k[c>>2]=g;h=(e+l|0)/2|0;k[n>>2]=h}if(!g)e=(h|0)==0;else e=(g|0)<0&(h|0)<1;do if(!g)if(!h)l=0;else l=(h|0)>0?3:1;else if((g|0)>0){l=(h>>31)+2|0;break}else{l=(h|0)<1?0:3;break}while(0);if(e){i=1;f=g;e=h}else{switch(l|0){case 1:{f=h;e=0-g|0;break}case 2:{f=0-g|0;e=0-h|0;break}case 3:{f=0-h|0;e=g;break}default:{f=g;e=h}}i=c;k[i>>2]=f;k[i+4>>2]=e;i=0}g=(k[d>>2]|0)+f|0;k[a>>2]=g;e=(k[d+4>>2]|0)+e|0;m=a+4|0;k[m>>2]=e;j=k[o>>2]|0;if((j|0)>=(g|0)){if((g|0)<(0-j|0))g=(k[b+4>>2]|0)+g|0}else g=g-(k[b+4>>2]|0)|0;k[a>>2]=g;if((j|0)>=(e|0)){if((e|0)<(0-j|0))e=(k[b+4>>2]|0)+e|0}else e=e-(k[b+4>>2]|0)|0;k[m>>2]=e;if(i){f=g;i=e}else{switch((4-l|0)%4|0|0){case 1:{f=e;e=0-g|0;break}case 2:{f=0-g|0;e=0-e|0;break}case 3:{f=0-e|0;e=g;break}default:f=g}i=a;k[i>>2]=f;k[i+4>>2]=e;i=e}if(p){p=f;q=i;p=p+r|0;q=q+r|0;r=a;a=r;k[a>>2]=p;r=r+4|0;k[r>>2]=q;return}if((f|0)>-1)if((i|0)<=-1)if((f|0)<1){g=-1;h=-1}else q=45;else{g=1;h=1}else if((i|0)<1){g=-1;h=-1}else q=45;if((q|0)==45){g=(f|0)>0?1:-1;h=(i|0)>0?1:-1}l=$(j,g)|0;j=$(j,h)|0;e=(f<<1)-l|0;k[a>>2]=e;f=(i<<1)-j|0;k[m>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;p=(f+l|0)/2|0;k[a>>2]=p;q=(e+j|0)/2|0;k[m>>2]=q;p=p+r|0;q=q+r|0;r=a;a=r;k[a>>2]=p;r=r+4|0;k[r>>2]=q;return}function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}o=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=j[c+8>>1]|0;d=c;while(1){if(i<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}n=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){j=k[c+4>>2]&m;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}i=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}h=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=k[c+8>>2]|0;d=c;while(1){if((i|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}o=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}j=c+9|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+9|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=i[c+8>>0]|0;d=c;while(1){if(j<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=da((l[e>>0]|l[e+1>>0]<<8)&65535);d=da(f/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;e=a+40|0;h=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&65535)}else{d=da(d/da(65535.0));o[c>>2]=d;d=da(da(b&65535)/da(65535.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=h+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b&65535);o[c+4>>2]=f;f=da(e&65535);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(65535.0));o[c>>2]=f;f=da(da(b&65535)/da(65535.0));o[c+4>>2]=f;f=da(da(e&65535)/da(65535.0));o[c+8>>2]=f;h=1;return h|0}}case 4:{h=k[b>>2]|0;e=a+48|0;g=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;g=e;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,e|0,16)|0)&65535;e=e&65535;d=da(g&65535);if(h){o[c>>2]=d;f=da(b&65535);o[c+4>>2]=f;f=da(e&65535);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(65535.0));o[c>>2]=f;f=da(da(b&65535)/da(65535.0));o[c+4>>2]=f;f=da(da(e&65535)/da(65535.0));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function ud(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;i=a+32|0;j=a+36|0;h=k[j>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0)if(f>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){k[j>>2]=h+(~((h+-4-l|0)>>>2)<<2);f=e}else f=e;else{jh(i,e-f|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=$m(r)|0;Vi(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[s+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){i=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[i>>2]|0)+g}else k[f>>2]=g-(k[i>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}if((e|0)>=(d|0)){an(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[q>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=m+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[p>>2]|0)){if((g|0)<(k[r>>2]|0))k[f>>2]=(k[a>>2]|0)+g}else k[f>>2]=g-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));an(s);return 1}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=sl(uk(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;d=da(i[(k[k[a>>2]>>2]|0)+g>>0]|0);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=da(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);d=da(f<<24>>24)}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));d=da(da(f<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;e=da(f<<24>>24);o[c+8>>2]=e;e=da(g<<24>>24);o[c+12>>2]=e;h=1;return h|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;e=da(da(f<<24>>24)/da(127.0));o[c+8>>2]=e;e=da(da(g<<24>>24)/da(127.0));o[c+12>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0}yk(m);wi(m);e=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){Oh(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){Oh(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;Oh(m);r=n;return 1}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0}yk(m);wi(m);e=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){Oh(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){Oh(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;Oh(m);r=n;return 1}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);d=da(e*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;h=1;return h|0}}case 4:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=sl(uk(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;d=da(l[(k[k[a>>2]>>2]|0)+g>>0]|0);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=da(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);d=da(f&255)}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));d=da(da(f&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;e=da(f&255);o[c+8>>2]=e;e=da(g&255);o[c+12>>2]=e;h=1;return h|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;e=da(da(f&255)/da(255.0));o[c+8>>2]=e;e=da(da(g&255)/da(255.0));o[c+12>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);d=da(e*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;h=1;return h|0}}case 4:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;h=1;return h|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+176|0;e=s+136|0;p=s+64|0;l=s;g=s+32|0;f=k[(k[a+4>>2]|0)+28>>2]|0;q=xk(88)|0;k[q+4>>2]=0;k[q>>2]=5792;h=q+12|0;k[h>>2]=5772;j=q+64|0;k[j>>2]=0;k[q+68>>2]=0;k[q+72>>2]=0;c=q+16|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[q+76>>2]=f;k[q+80>>2]=b;k[q+84>>2]=0;n=p+4|0;k[n>>2]=5772;m=p+56|0;k[m>>2]=0;o=p+60|0;k[o>>2]=0;k[p+64>>2]=0;c=p+8|0;d=c+44|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=k[a+8>>2]|0;k[l>>2]=5772;a=l+4|0;d=a+4|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;d=c;k[a>>2]=d;d=((k[d+4>>2]|0)-(k[c>>2]|0)|0)/12|0;i[e>>0]=0;lg(l+8|0,d,e);Ta[k[(k[l>>2]|0)+8>>2]&127](l);df(g,l);df(e,g);k[p>>2]=k[e+4>>2];d=p+4|0;sf(d,e)|0;k[e>>2]=5772;a=k[e+20>>2]|0;if(a|0)cn(a);a=k[e+8>>2]|0;if(a|0)cn(a);k[p+36>>2]=c;k[p+40>>2]=b;k[p+44>>2]=f;k[p+48>>2]=q;k[g>>2]=5772;a=k[g+20>>2]|0;if(a|0)cn(a);a=k[g+8>>2]|0;if(a|0)cn(a);k[q+8>>2]=k[p>>2];sf(h,d)|0;a=q+44|0;h=p+36|0;k[a>>2]=k[h>>2];k[a+4>>2]=k[h+4>>2];k[a+8>>2]=k[h+8>>2];k[a+12>>2]=k[h+12>>2];i[a+16>>0]=i[h+16>>0]|0;tf(j,k[m>>2]|0,k[o>>2]|0);k[l>>2]=5772;a=k[l+20>>2]|0;if(a|0)cn(a);a=k[l+8>>2]|0;if(a|0)cn(a);a=k[m>>2]|0;c=a;if(a|0){d=k[o>>2]|0;if((d|0)!=(a|0))k[o>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(a)}k[n>>2]=5772;a=k[p+24>>2]|0;if(a|0)cn(a);a=k[p+12>>2]|0;if(!a){r=s;return q|0}cn(a);r=s;return q|0}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0;f=da(i[(k[k[a>>2]>>2]|0)+e>>0]|0);d=da(f/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;e=a+40|0;h=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b<<24>>24)}else{d=da(d/da(127.0));o[c>>2]=d;d=da(da(b<<24>>24)/da(127.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[h+1>>0]|0;e=i[h+2>>0]|0;d=da(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b<<24>>24);o[c+4>>2]=f;f=da(e<<24>>24);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(127.0));o[c>>2]=f;f=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=f;f=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=f;h=1;return h|0}}case 4:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;e=h>>>16&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b<<24>>24);o[c+4>>2]=f;f=da(e<<24>>24);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(127.0));o[c>>2]=f;f=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=f;f=da(da(e<<24>>24)/da(127.0));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}u=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)c=c&t;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;s=a+24|0;r=c;e=f;c=f;a:while(1){q=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(u)p=d&t;else p=(d>>>0)%(b>>>0)|0;if((p|0)==(r|0))break;d=(k[a>>2]|0)+(p<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=k[c+8>>2]|0;l=k[s>>2]|0;o=k[l+4>>2]|0;l=(k[l+8>>2]|0)-o|0;n=l>>2;if((l|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{if((n|0)<=(j|0)){c=33;break a}g=k[o+(j<<2)>>2]|0;if(!(i[g+84>>0]|0)){h=k[g+68>>2]|0;g=k[h+(l<<2)>>2]|0;h=k[h+(m<<2)>>2]|0}else{g=l;h=m}j=j+1|0;if((h|0)!=(g|0))break c}while((j|0)<(n|0));d=k[f>>2]|0;if(!d){d=f;break}else{l=f;f=d;d=l}}}while(0);k[q>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(p<<2)>>2]>>2];k[k[(k[a>>2]|0)+(p<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{e=c;q=c}}k[d>>2]=q;d=k[c>>2]|0;if(!d){c=38;break}else{r=p;e=c}}if((c|0)==33)Ka(13441,13403,63,13431);else if((c|0)==38)return}function Ed(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5816;fn(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;fn(b)}while((b|0)!=(c|0))}an(d)}fn(a+304|0);fn(a+264|0);fh(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;cn(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)cn(b);b=k[a+136>>2]|0;if(b|0)cn(b);b=k[a+124>>2]|0;if(b|0)cn(b);b=k[a+112>>2]|0;if(b|0)cn(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(e)}b=k[a+64>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);cn(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fh(b);cn(b);return}function Fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;q=s;b=k[a>>2]|0;o=a+4|0;a=k[o>>2]|0;p=a-b|0;c=p>>5;if((p|0)<=32){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}p=b;n=a;i=n+-32|0;a=k[p>>2]|0;d=p+4|0;j=k[d>>2]|0;e=p+8|0;l=k[e>>2]|0;g=p+12|0;m=k[g>>2]|0;h=p+16|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];f=b;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];k[f+16>>2]=k[i+16>>2];k[f+20>>2]=k[i+20>>2];k[f+24>>2]=k[i+24>>2];k[f+28>>2]=k[i+28>>2];k[i>>2]=a;k[n+-28>>2]=j;k[n+-24>>2]=l;k[n+-20>>2]=m;n=n+-16|0;k[n>>2]=k[q>>2];k[n+4>>2]=k[q+4>>2];k[n+8>>2]=k[q+8>>2];k[n+12>>2]=k[q+12>>2];n=c+-1|0;if((c|0)==2){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}l=c+-3|0;m=(l|0)/2|0;if((l|0)<-1){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}a=p+32|0;b=a;if((n|0)>2){l=p+64|0;j=(k[a>>2]|0)>>>0<(k[l>>2]|0)>>>0;a=j?2:1;b=j?l:b}else a=1;l=k[p>>2]|0;if((k[b>>2]|0)>>>0>>0){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}j=k[d>>2]|0;i=k[e>>2]|0;g=k[g>>2]|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];while(1){h=f;f=b;k[h>>2]=k[f>>2];k[h+4>>2]=k[f+4>>2];k[h+8>>2]=k[f+8>>2];k[h+12>>2]=k[f+12>>2];k[h+16>>2]=k[f+16>>2];k[h+20>>2]=k[f+20>>2];k[h+24>>2]=k[f+24>>2];k[h+28>>2]=k[f+28>>2];if((m|0)<(a|0))break;a=a<<1|1;d=p+(a<<5)|0;c=d;e=a+1|0;if((e|0)<(n|0)){h=d+32|0;d=(k[d>>2]|0)>>>0<(k[h>>2]|0)>>>0;a=d?e:a;c=d?h:c}if((k[c>>2]|0)>>>0>>0)break;else b=c}p=b;k[p>>2]=l;k[p+4>>2]=j;k[p+8>>2]=i;k[p+12>>2]=g;p=p+16|0;k[p>>2]=k[q>>2];k[p+4>>2]=k[q+4>>2];k[p+8>>2]=k[q+8>>2];k[p+12>>2]=k[q+12>>2];q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8)<<16>>16);d=da(e/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;h=1;return h|0}}case 4:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da((g&65535)<<16>>16);if(h){o[c>>2]=d;e=da(b<<16>>16);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(32767.0));o[c>>2]=e;e=da(da(b<<16>>16)/da(32767.0));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Hd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;switch(a|0){case 1:{f=xk(60)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=3840;d=f;return d|0}case 2:{f=xk(60)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=3904;d=f;return d|0}case 4:{f=xk(112)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];a=f+12|0;e=c+4|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[a+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);a=f+44|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[f>>2]=3968;a=f+60|0;e=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(e|0));d=f;return d|0}case 3:{f=xk(92)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=4032;d=f+60|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[f+88>>2]=e&65535;d=f;return d|0}default:{d=0;return d|0}}return 0}function Id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;switch(a|0){case 1:{f=xk(60)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=3584;d=f;return d|0}case 2:{f=xk(60)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=3648;d=f;return d|0}case 4:{f=xk(112)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];a=f+12|0;e=c+4|0;k[a>>2]=k[e>>2];k[a+4>>2]=k[e+4>>2];k[a+8>>2]=k[e+8>>2];k[a+12>>2]=k[e+12>>2];k[a+16>>2]=k[e+16>>2];li(f+32|0,c+24|0);a=f+44|0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];k[a+12>>2]=k[d+12>>2];k[f>>2]=3712;a=f+60|0;e=a+52|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(e|0));d=f;return d|0}case 3:{f=xk(92)|0;k[f>>2]=3456;k[f+4>>2]=b;k[f+8>>2]=k[c>>2];b=f+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];li(f+32|0,c+24|0);c=f+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[f>>2]=3776;d=f+60|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[f+88>>2]=e&65535;d=f;return d|0}default:{d=0;return d|0}}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=0,f=Pa,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;h=a+40|0;e=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0;f=da(l[(k[k[a>>2]>>2]|0)+e>>0]|0);d=da(f/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?f:d;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;e=a+40|0;h=(sl(uk(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b&255)}else{d=da(d/da(255.0));o[c>>2]=d;d=da(da(b&255)/da(255.0))}o[c+4>>2]=d;o[c+8>>2]=da(0.0);h=1;return h|0}case 3:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[h+1>>0]|0;e=i[h+2>>0]|0;d=da(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b&255);o[c+4>>2]=f;f=da(e&255);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(255.0));o[c>>2]=f;f=da(da(b&255)/da(255.0));o[c+4>>2]=f;f=da(da(e&255)/da(255.0));o[c+8>>2]=f;h=1;return h|0}}case 4:{e=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;e=h>>>16&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;f=da(b&255);o[c+4>>2]=f;f=da(e&255);o[c+8>>2]=f;h=1;return h|0}else{f=da(d/da(255.0));o[c>>2]=f;f=da(da(b&255)/da(255.0));o[c+4>>2]=f;f=da(da(e&255)/da(255.0));o[c+8>>2]=f;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8)&65535);d=da(e/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=da(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;h=1;return h|0}}case 4:{h=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=b+4|0;h=(i[a+32>>0]|0)==0;b=(Zk(g|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=da(g&65535);if(h){o[c>>2]=d;e=da(b&65535);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(65535.0));o[c>>2]=e;e=da(da(b&65535)/da(65535.0));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ld(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)an(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else jh(d,e-g|0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;u=g-f|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=13;break}k[y>>2]=k[f+(d<<2)>>2];k[x>>2]=k[y>>2];Ac(a,x,c,d);m=$(d,e)|0;l=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[v>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[v>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[u>>2]|0)+h}else k[g>>2]=h-(k[u>>2]|0);f=f+1|0}while((f|0)<(k[v>>2]|0))}}}d=d+1|0;if((d|0)>=(p|0)){d=10;break}h=k[o>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)gm(h);return 0}function Md(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)an(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else jh(d,e-g|0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;u=g-f|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=13;break}k[y>>2]=k[f+(d<<2)>>2];k[x>>2]=k[y>>2];vc(a,x,c,d);m=$(d,e)|0;l=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[v>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[v>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[u>>2]|0)+h}else k[g>>2]=h-(k[u>>2]|0);f=f+1|0}while((f|0)<(k[v>>2]|0))}}}d=d+1|0;if((d|0)>=(p|0)){d=10;break}h=k[o>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)gm(h);return 0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}n=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){i=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((j[h>>1]|0)==(j[g+8>>1]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((j[g>>1]|0)==(j[h+8>>1]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}n=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){j=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((i[h>>0]|0)==(i[g+8>>0]|0))d=g;else break}k[j>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}else{j=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((i[g>>0]|0)==(i[h+8>>0]|0))d=h;else break}k[j>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(vf(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(vf(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];hb(a,v,n,m,0,q);v=1;r=t;return v|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(vf(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(vf(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];yb(a,v,n,m,0,q);v=1;r=t;return v|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)cn(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=Ma(4)|0;Om(a);xa(a|0,1024,93)}m=xk(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)cn(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)c=c&l;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(m){i=c;while(1){c=d;while(1){j=k[c+4>>2]&l;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((k[h>>2]|0)==(k[g+8>>2]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((k[g>>2]|0)==(k[h+8>>2]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(Ye(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(Ye(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];vb(a,v,n,m,0,q);v=1;r=t;return v|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(Ye(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(Ye(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];wb(a,v,n,m,0,q);v=1;r=t;return v|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5652;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;fn(b)}while((b|0)!=(c|0))}an(d)}fn(a+304|0);fn(a+264|0);fh(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;cn(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)cn(b);b=k[a+136>>2]|0;if(b|0)cn(b);b=k[a+124>>2]|0;if(b|0)cn(b);b=k[a+112>>2]|0;if(b|0)cn(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+64>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);cn(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fh(b);cn(b);return}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+40|0;m=n;if(!(ig(a,1,c)|0)){m=0;r=n;return m|0}l=a+40|0;e=a+16|0;f=k[e>>2]|0;d=(k[a>>2]|0)+f|0;o=a+8|0;e=al(k[o>>2]|0,k[o+4>>2]|0,f|0,k[e+4>>2]|0)|0;Ck(l,d,e);e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;f=a+48|0;o=f;g=a+56|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;o=al(k[o>>2]|0,k[o+4>>2]|0,h|0,j|0)|0;p=M;if(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>o>>>0){p=0;r=n;return p|0}o=sl(h|0,j|0,d|0,e|0)|0;p=g;k[p>>2]=o;k[p+4>>2]=M;if(!(ig(l,1,c)|0)){p=0;r=n;return p|0}rk(m);d=g;e=k[d>>2]|0;p=(k[l>>2]|0)+e|0;g=f;d=al(k[g>>2]|0,k[g+4>>2]|0,e|0,k[d+4>>2]|0)|0;Ck(m,p,d);d=c;c=k[d>>2]|0;d=k[d+4>>2]|0;p=m+8|0;e=m+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;p=al(k[p>>2]|0,k[p+4>>2]|0,f|0,g|0)|0;o=M;a:do if(d>>>0>o>>>0|(d|0)==(o|0)&c>>>0>p>>>0)c=0;else{c=sl(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=M;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){g=a+80|0;e=c<<4;e=$m(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;k[e>>2]=c;e=e+4|0;c=e+(c<<4)|0;d=e;do{Lm(d);d=d+16|0}while((d|0)!=(c|0));f=k[g>>2]|0;k[g>>2]=e;if(f|0){d=f+-4|0;c=k[d>>2]|0;if(c|0){c=f+(c<<4)|0;do{c=c+-16|0;fn(c)}while((c|0)!=(f|0))}an(d)}if((k[h>>2]|0)>0){c=0;do{if(!(Ye((k[g>>2]|0)+(c<<4)|0,m)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=m;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[m+36>>0]|0;c=1}while(0);fn(m+24|0);p=c;r=n;return p|0}function Wd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;s=a+8|0;k[s>>2]=e;q=e>>>0>1073741823?-1:e<<2;t=$m(q)|0;Vi(t|0,0,q|0)|0;q=k[a+24>>2]|0;r=a+32|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){n=k[a+28>>2]|0;o=q+12|0;p=(e|0)>0;l=d>>2;a=g;d=h;while(1){m=l+-1|0;if(a-f>>2>>>0<=m>>>0)break;d=k[f+(m<<2)>>2]|0;j=$(m,e)|0;if((d|0)>=0?(v=k[(k[o>>2]|0)+(d<<2)>>2]|0,(v|0)>=0):0){a=k[q>>2]|0;f=(v>>>0)%3|0;g=k[n>>2]|0;i=k[g+(k[a+(((v>>>0)/3|0)*12|0)+(f<<2)>>2]<<2)>>2]|0;d=v+1|0;d=((d|0)%3|0|0)==0?v+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;h=k[g+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+v|0;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=k[g+(d<<2)>>2]|0;if((i|0)<(m|0)&(h|0)<(m|0)&(d|0)<(m|0)){g=$(i,e)|0;a=$(h,e)|0;f=$(d,e)|0;if(p){d=0;do{k[t+(d<<2)>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Ze(s,b+(j<<2)|0,t,c,j)}else w=17}else w=17;if((w|0)==17){w=0;Ze(s,b+(j<<2)|0,b+(($(l+-2|0,e)|0)<<2)|0,c,j)}if((m|0)<=1){u=t;break a}d=k[r>>2]|0;l=m;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else u=t;while(0);if((e|0)<=0){Ze(s,b,u,c,0);an(t);return 1}Vi(t|0,0,e<<2|0)|0;Ze(s,b,u,c,0);an(t);return 1}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(vf(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(vf(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ib(a,v,o,m,0,n);v=1;r=t;return v|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(vf(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(vf(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Db(a,v,o,m,0,n);v=1;r=t;return v|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+e>>0]|0;f=sl(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;do switch(h<<24>>24){case 1:{h=Oc(a,b,c)|0;return h|0}case 2:{h=Oc(a,b,c)|0;return h|0}case 3:{h=Oc(a,b,c)|0;return h|0}case 4:{h=Oc(a,b,c)|0;return h|0}case 5:{h=Oc(a,b,c)|0;return h|0}case 6:{h=Oc(a,b,c)|0;return h|0}case 7:{h=Oc(a,b,c)|0;return h|0}case 8:{h=Oc(a,b,c)|0;return h|0}case 9:{h=Nc(a,b,c)|0;return h|0}case 10:{h=Mc(a,b,c)|0;return h|0}case 11:{h=Lc(a,b,c)|0;return h|0}case 12:{h=Kc(a,b,c)|0;return h|0}case 13:{h=Jc(a,b,c)|0;return h|0}case 14:{h=Ic(a,b,c)|0;return h|0}case 15:{h=Ic(a,b,c)|0;return h|0}case 16:{h=Ic(a,b,c)|0;return h|0}case 17:{h=Ic(a,b,c)|0;return h|0}case 18:{h=Ic(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function _d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(Ye(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(Ye(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Bb(a,v,o,m,0,n);v=1;r=t;return v|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=sl(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=sl(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=sl(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(Ye(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(Ye(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(of(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Cb(a,v,o,m,0,n);v=1;r=t;return v|0}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;h=o+16|0;j=o;n=b+8|0;g=n;f=k[g+4>>2]|0;m=b+16|0;d=m;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){a=0;r=o;return a|0}g=i[(k[b>>2]|0)+c>>0]|0;e=sl(c|0,d|0,1,0)|0;f=m;k[f>>2]=e;k[f+4>>2]=M;if(g<<24>>24){a=0;r=o;return a|0}f=0;do{ci(h,b);c=k[h>>2]|0;if(c|0){g=a+60+(f*12|0)|0;Ce(g,c,0);Lm(j);Ye(j,b)|0;if(k[h>>2]|0){d=0;do{e=(k[g>>2]|0)+(d>>>5<<2)|0;c=1<<(d&31);if(Ti(j)|0)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;d=d+1|0}while(d>>>0<(k[h>>2]|0)>>>0)}fn(j)}f=f+1|0}while((f|0)<4);f=n;h=k[f>>2]|0;f=k[f+4>>2]|0;j=m;c=k[j>>2]|0;j=sl(c|0,k[j+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){a=0;r=o;return a|0}h=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[h>>0]=c;i[h+1>>0]=c>>8;i[h+2>>0]=c>>16;i[h+3>>0]=c>>24;h=m;f=k[h>>2]|0;h=k[h+4>>2]|0;d=sl(f|0,h|0,4,0)|0;g=m;k[g>>2]=d;k[g+4>>2]=M;g=n;j=k[g>>2]|0;g=k[g+4>>2]|0;n=sl(f|0,h|0,8,0)|0;h=M;if((g|0)<(h|0)|(g|0)==(h|0)&j>>>0>>0){a=0;r=o;return a|0}j=a+16|0;n=(k[b>>2]|0)+d|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[j>>0]=n;i[j+1>>0]=n>>8;i[j+2>>0]=n>>16;i[j+3>>0]=n>>24;b=m;b=sl(k[b>>2]|0,k[b+4>>2]|0,4,0)|0;d=m;k[d>>2]=b;k[d+4>>2]=M;n=n+(1-c)|0;k[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(n&1|0){a=1;r=o;return a|0}k[d>>2]=c+-1;a=1;r=o;return a|0}function be(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;s=a+8|0;k[s>>2]=e;q=e>>>0>1073741823?-1:e<<2;t=$m(q)|0;Vi(t|0,0,q|0)|0;q=k[a+24>>2]|0;r=a+32|0;h=k[r>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){n=k[a+28>>2]|0;o=q+12|0;p=(e|0)>0;l=d>>2;a=g;d=h;while(1){m=l+-1|0;if(a-f>>2>>>0<=m>>>0)break;d=k[f+(m<<2)>>2]|0;j=$(m,e)|0;if((d|0)>=0?(v=k[(k[o>>2]|0)+(d<<2)>>2]|0,(v|0)>=0):0){a=k[q>>2]|0;f=(v>>>0)%3|0;g=k[n>>2]|0;i=k[g+(k[a+(((v>>>0)/3|0)*12|0)+(f<<2)>>2]<<2)>>2]|0;d=v+1|0;d=((d|0)%3|0|0)==0?v+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;h=k[g+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+v|0;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=k[g+(d<<2)>>2]|0;if((i|0)<(m|0)&(h|0)<(m|0)&(d|0)<(m|0)){g=$(i,e)|0;a=$(h,e)|0;f=$(d,e)|0;if(p){d=0;do{k[t+(d<<2)>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}cf(s,b+(j<<2)|0,t,c,j)}else w=17}else w=17;if((w|0)==17){w=0;cf(s,b+(j<<2)|0,b+(($(l+-2|0,e)|0)<<2)|0,c,j)}if((m|0)<=1){u=t;break a}d=k[r>>2]|0;l=m;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else u=t;while(0);if((e|0)<=0){cf(s,b,u,c,0);an(t);return 1}Vi(t|0,0,e<<2|0)|0;cf(s,b,u,c,0);an(t);return 1}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;e=da(i[(k[k[a>>2]>>2]|0)+b>>0]|0);d=da(e/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[h+1>>0]|0;d=da(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;h=1;return h|0}}case 4:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;d=da((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b<<24>>24);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(127.0));o[c>>2]=e;e=da(da(b<<24>>24)/da(127.0));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;e=da(l[(k[k[a>>2]>>2]|0)+b>>0]|0);d=da(e/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;o[c+4>>2]=da(0.0);c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;h=1;return h|0}}case 3:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[h+1>>0]|0;d=da(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;h=1;return h|0}}case 4:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;d=da(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b&255);o[c+4>>2]=e;h=1;return h|0}else{e=da(d/da(255.0));o[c>>2]=e;e=da(da(b&255)/da(255.0));o[c+4>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;m=b+8|0;g=m;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=j;k[g>>2]=d;k[g+4>>2]=e;if((h|0)<0){p=0;r=q;return p|0}g=a+76|0;Ce(g,h,0);Lm(p);if(Ye(p,b)|0){if((h|0)>0){d=1;e=0;do{d=d^((Ti(p)|0)^1);f=(k[g>>2]|0)+(e>>>5<<2)|0;c=1<<(e&31);if(d)c=k[f>>2]|c;else c=k[f>>2]&~c;k[f>>2]=c;e=e+1|0}while((e|0)<(h|0))}e=m;g=k[e>>2]|0;e=k[e+4>>2]|0;h=j;c=k[h>>2]|0;h=sl(c|0,k[h+4>>2]|0,4,0)|0;f=M;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,n=(k[b>>2]|0)+c|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,i[g>>0]=n,i[g+1>>0]=n>>8,i[g+2>>0]=n>>16,i[g+3>>0]=n>>24,g=j,e=k[g>>2]|0,g=k[g+4>>2]|0,o=sl(e|0,g|0,4,0)|0,f=j,k[f>>2]=o,k[f+4>>2]=M,f=m,h=k[f>>2]|0,f=k[f+4>>2]|0,m=sl(e|0,g|0,8,0)|0,g=M,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;o=(k[b>>2]|0)+o|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;i[d>>0]=o;i[d+1>>0]=o>>8;i[d+2>>0]=o>>16;i[d+3>>0]=o>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=j;k[c>>2]=d;k[c+4>>2]=M;o=o+(1-n)|0;k[a+20>>2]=o;c=(o|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(o&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;fn(p);p=c;r=q;return p|0}function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=sl(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=sl(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=sl(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(of(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];tb(a,u,n,m,0,q);u=1;r=s;return u|0}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=sl(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=sl(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=sl(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(Ye(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];zb(a,u,n,m,0,q);u=1;r=s;return u|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5864;mg(a+240|0);fh(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;cn(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)cn(b);b=k[a+136>>2]|0;if(b|0)cn(b);b=k[a+124>>2]|0;if(b|0)cn(b);b=k[a+112>>2]|0;if(b|0)cn(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+64>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);cn(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Fh(b);cn(b);return}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;h=o+16|0;j=o;n=b+8|0;g=n;f=k[g+4>>2]|0;m=b+16|0;d=m;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){n=0;r=o;return n|0}g=i[(k[b>>2]|0)+c>>0]|0;e=sl(c|0,d|0,1,0)|0;f=m;k[f>>2]=e;k[f+4>>2]=M;if(g<<24>>24){n=0;r=o;return n|0}f=0;do{ci(h,b);c=k[h>>2]|0;if(c|0){g=a+36+(f*12|0)|0;Ce(g,c,0);Lm(j);Ye(j,b)|0;if(k[h>>2]|0){d=0;do{e=(k[g>>2]|0)+(d>>>5<<2)|0;c=1<<(d&31);if(Ti(j)|0)c=k[e>>2]|c;else c=k[e>>2]&~c;k[e>>2]=c;d=d+1|0}while(d>>>0<(k[h>>2]|0)>>>0)}fn(j)}f=f+1|0}while((f|0)<4);f=n;h=k[f>>2]|0;f=k[f+4>>2]|0;j=m;c=k[j>>2]|0;j=sl(c|0,k[j+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){n=0;r=o;return n|0}h=a+12|0;f=(k[b>>2]|0)+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;i[h>>0]=f;i[h+1>>0]=f>>8;i[h+2>>0]=f>>16;i[h+3>>0]=f>>24;h=m;f=k[h>>2]|0;h=k[h+4>>2]|0;c=sl(f|0,h|0,4,0)|0;g=m;k[g>>2]=c;k[g+4>>2]=M;g=n;j=k[g>>2]|0;g=k[g+4>>2]|0;n=sl(f|0,h|0,8,0)|0;h=M;if((g|0)<(h|0)|(g|0)==(h|0)&j>>>0>>0){n=0;r=o;return n|0}n=a+16|0;b=(k[b>>2]|0)+c|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;i[n>>0]=b;i[n+1>>0]=b>>8;i[n+2>>0]=b>>16;i[n+3>>0]=b>>24;b=m;b=sl(k[b>>2]|0,k[b+4>>2]|0,4,0)|0;n=m;k[n>>2]=b;k[n+4>>2]=M;n=1;r=o;return n|0}function je(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;t=k[a+24>>2]|0;q=k[a+28>>2]|0;m=e>>>0>1073741823?-1:e<<2;r=$m(m)|0;Vi(r|0,0,m|0)|0;Sg(s,r,b,c,0);m=a+32|0;a=k[m>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;p=g-f|0;n=p>>2;if((p|0)<=4){an(r);return 1}o=t+12|0;p=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){v=6;break}f=k[f+(d<<2)>>2]|0;l=$(d,e)|0;if((f|0)>=0?(u=k[(k[o>>2]|0)+(f<<2)>>2]|0,(u|0)>=0):0){g=k[t>>2]|0;a=(u>>>0)%3|0;h=k[q>>2]|0;j=k[h+(k[g+(((u>>>0)/3|0)*12|0)+(a<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;i=k[h+(f<<2)>>2]|0;f=((a|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[h+(f<<2)>>2]|0;if((j|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(j,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(p){f=0;do{k[r+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}Sg(s,r,b,c+(l<<2)|0,l)}else v=15}else v=15;if((v|0)==15){v=0;Sg(s,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(l<<2)|0,l)}d=d+1|0;if((d|0)>=(n|0)){v=3;break}a=k[m>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}if((v|0)==3){an(r);return 1}else if((v|0)==6)gm(a);return 0}function ke(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k[b>>2]|0;m=k[b+4>>2]|0;h=((k[c>>2]|0)-p<<3)+(k[c+4>>2]|0)-m|0;c=p;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!m){e=d+4|0;n=e;e=k[e>>2]|0}else{g=32-m|0;l=(h|0)<(g|0)?h:g;g=-1>>>(g-l|0)&-1<>2];n=d+4|0;j=k[n>>2]|0;e=32-j|0;f=e>>>0>>0?e:l;i=k[d>>2]|0;j=k[i>>2]&~(-1>>>(e-f|0)&-1<>2]=j;e=k[n>>2]|0;k[i>>2]=j|(e>>>0>m>>>0?g<>>(m-e|0));e=(k[n>>2]|0)+f|0;i=i+(e>>>5<<2)|0;k[d>>2]=i;e=e&31;k[n>>2]=e;j=l-f|0;if((j|0)>0){k[i>>2]=k[i>>2]&~(-1>>>(32-j|0))|g>>>(m+f|0);k[n>>2]=j;e=j}c=c+4|0;k[b>>2]=c;h=h-l|0}p=32-e|0;j=-1<>>0>31){l=~j;i=k[d>>2]|0;e=h+-32|0;o=e>>>5;m=o+1|0;o=e-(o<<5)|0;e=c;f=k[i>>2]|0;g=i;while(1){q=k[e>>2]|0;r=f&l;k[g>>2]=r;k[g>>2]=r|q<>2];g=g+4|0;f=k[g>>2]&j|q>>>p;k[g>>2]=f;h=h+-32|0;if(h>>>0<=31)break;else e=e+4|0}c=c+(m<<2)|0;k[b>>2]=c;k[d>>2]=i+(m<<2);h=o}if(!h){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}g=k[c>>2]&-1>>>(32-h|0);f=(p|0)<(h|0)?p:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(p-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[n>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[n>>2]=c&31;c=h-f|0;if((c|0)<=0){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[n>>2]=c;q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}function le(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;r=a+8|0;k[r>>2]=e;p=e>>>0>1073741823?-1:e<<2;s=$m(p)|0;Vi(s|0,0,p|0)|0;p=k[a+24>>2]|0;q=a+32|0;h=k[q>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){l=k[a+28>>2]|0;m=p+64|0;n=p+28|0;o=(e|0)>0;i=d>>2;a=g;d=h;while(1){j=i+-1|0;if(a-f>>2>>>0<=j>>>0)break;d=k[f+(j<<2)>>2]|0;h=$(j,e)|0;if((!((d|0)<0?1:(1<<(d&31)&k[(k[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(u|0)>=0):0)?(x=k[n>>2]|0,g=k[l>>2]|0,v=k[g+(k[x+(u<<2)>>2]<<2)>>2]|0,w=u+1|0,w=k[g+(k[x+((((w|0)%3|0|0)==0?u+-2|0:w)<<2)>>2]<<2)>>2]|0,x=k[g+(k[x+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0,(v|0)<(j|0)&(w|0)<(j|0)&(x|0)<(j|0)):0){f=$(v,e)|0;a=$(w,e)|0;g=$(x,e)|0;if(o){d=0;do{k[s+(d<<2)>>2]=(k[b+(d+g<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+f<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}Ze(r,b+(h<<2)|0,s,c,h)}else Ze(r,b+(h<<2)|0,b+(($(i+-2|0,e)|0)<<2)|0,c,h);if((j|0)<=1){t=s;break a}d=k[q>>2]|0;i=j;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else t=s;while(0);if((e|0)<=0){Ze(r,b,t,c,0);an(s);return 1}Vi(s|0,0,e<<2|0)|0;Ze(r,b,t,c,0);an(s);return 1}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=sl(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=sl(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=sl(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(of(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ub(a,u,o,m,0,n);u=1;r=s;return u|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=sl(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=sl(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=sl(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=sl(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(Ye(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(of(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];Eb(a,u,o,m,0,n);u=1;r=s;return u|0}function oe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;t=k[a+24>>2]|0;q=k[a+28>>2]|0;m=e>>>0>1073741823?-1:e<<2;r=$m(m)|0;Vi(r|0,0,m|0)|0;Ug(s,r,b,c,0);m=a+32|0;a=k[m>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;p=g-f|0;n=p>>2;if((p|0)<=4){an(r);return 1}o=t+12|0;p=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){v=6;break}f=k[f+(d<<2)>>2]|0;l=$(d,e)|0;if((f|0)>=0?(u=k[(k[o>>2]|0)+(f<<2)>>2]|0,(u|0)>=0):0){g=k[t>>2]|0;a=(u>>>0)%3|0;h=k[q>>2]|0;j=k[h+(k[g+(((u>>>0)/3|0)*12|0)+(a<<2)>>2]<<2)>>2]|0;f=u+1|0;f=((f|0)%3|0|0)==0?u+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;i=k[h+(f<<2)>>2]|0;f=((a|0)==0?2:-1)+u|0;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[h+(f<<2)>>2]|0;if((j|0)<(d|0)&(i|0)<(d|0)&(f|0)<(d|0)){h=$(j,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(p){f=0;do{k[r+(f<<2)>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}Ug(s,r,b,c+(l<<2)|0,l)}else v=15}else v=15;if((v|0)==15){v=0;Ug(s,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(l<<2)|0,l)}d=d+1|0;if((d|0)>=(n|0)){v=3;break}a=k[m>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}if((v|0)==3){an(r);return 1}else if((v|0)==6)gm(a);return 0}function pe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;r=a+8|0;k[r>>2]=e;p=e>>>0>1073741823?-1:e<<2;s=$m(p)|0;Vi(s|0,0,p|0)|0;p=k[a+24>>2]|0;q=a+32|0;h=k[q>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){l=k[a+28>>2]|0;m=p+64|0;n=p+28|0;o=(e|0)>0;i=d>>2;a=g;d=h;while(1){j=i+-1|0;if(a-f>>2>>>0<=j>>>0)break;d=k[f+(j<<2)>>2]|0;h=$(j,e)|0;if((!((d|0)<0?1:(1<<(d&31)&k[(k[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(u|0)>=0):0)?(x=k[n>>2]|0,g=k[l>>2]|0,v=k[g+(k[x+(u<<2)>>2]<<2)>>2]|0,w=u+1|0,w=k[g+(k[x+((((w|0)%3|0|0)==0?u+-2|0:w)<<2)>>2]<<2)>>2]|0,x=k[g+(k[x+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0,(v|0)<(j|0)&(w|0)<(j|0)&(x|0)<(j|0)):0){f=$(v,e)|0;a=$(w,e)|0;g=$(x,e)|0;if(o){d=0;do{k[s+(d<<2)>>2]=(k[b+(d+g<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+f<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}cf(r,b+(h<<2)|0,s,c,h)}else cf(r,b+(h<<2)|0,b+(($(i+-2|0,e)|0)<<2)|0,c,h);if((j|0)<=1){t=s;break a}d=k[q>>2]|0;i=j;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else t=s;while(0);if((e|0)<=0){cf(r,b,t,c,0);an(s);return 1}Vi(s|0,0,e<<2|0)|0;cf(r,b,t,c,0);an(s);return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=qg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=rg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=sg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=ug(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=vg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=yg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=a+12|0;r=b+8|0;g=r;m=k[g>>2]|0;g=k[g+4>>2]|0;p=b+16|0;n=p;c=k[n>>2]|0;n=sl(c|0,k[n+4>>2]|0,4,0)|0;j=M;if((g|0)<(j|0)|(g|0)==(j|0)&m>>>0>>0){r=0;return r|0}d=(k[b>>2]|0)+c|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[q>>0]=d;i[q+1>>0]=d>>8;i[q+2>>0]=d>>16;i[q+3>>0]=d>>24;g=p;g=sl(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;c=p;k[c>>2]=g;k[c+4>>2]=M;c=a+4|0;g=k[c>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=f+(d<<2)|0,(g|0)!=(h|0)):0)k[c>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{jh(a,d-e|0);d=k[q>>2]|0}if(!d){r=1;return r|0}c=0;g=d;a:while(1){m=r;j=k[m>>2]|0;m=k[m+4>>2]|0;e=p;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|(m|0)==(e|0)&j>>>0>d>>>0)){c=0;o=18;break}n=k[b>>2]|0;s=i[n+d>>0]|0;e=sl(d|0,e|0,1,0)|0;f=M;d=p;k[d>>2]=e;k[d+4>>2]=f;d=s&255;h=d&3;d=d>>>2;switch(s&3){case 3:{e=d+c|0;if(e>>>0>=g>>>0){c=0;o=18;break a}Vi((k[a>>2]|0)+(c<<2)|0,0,(d<<2)+4|0)|0;c=e;break}case 0:{o=15;break}default:{g=0;while(1){if(!((m|0)>(f|0)|(m|0)==(f|0)&j>>>0>e>>>0)){c=0;o=18;break a}s=i[n+e>>0]|0;e=sl(e|0,f|0,1,0)|0;f=M;o=p;k[o>>2]=e;k[o+4>>2]=f;d=(s&255)<<(g<<3|6)|d;g=g+1|0;if((g|0)>=(h|0)){o=15;break}}}}if((o|0)==15){o=0;k[(k[a>>2]|0)+(c<<2)>>2]=d}c=c+1|0;g=k[q>>2]|0;if(c>>>0>=g>>>0){o=17;break}}if((o|0)==17){s=zg(a+16|0,k[a>>2]|0,g)|0;return s|0}else if((o|0)==18)return c|0;return 0}function xe(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,l=0,m=0,n=0;l=k[b>>2]|0;m=b+4|0;e=k[m>>2]|0;h=((k[c>>2]|0)-l<<3)+(k[c+4>>2]|0)-e|0;c=l;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{f=32-e|0;l=(h|0)<(f|0)?h:f;f=-1>>>(f-l|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;c=e>>>0>>0?e:l;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-c|0)&-1<>2]=n;e=k[j>>2]|0;i=k[m>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?f<>>(i-e|0));e=(k[j>>2]|0)+c|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=l-c|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|f>>>((k[m>>2]|0)+c|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-l|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{m=k[c>>2]|0;n=k[d>>2]|0;l=k[n>>2]&g;k[n>>2]=l;k[n>>2]=l|m<>2];n=n+4|0;k[d>>2]=n;k[n>>2]=k[n>>2]&f|m>>>i;e=e+-32|0;c=(k[b>>2]|0)+4|0;k[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}g=k[c>>2]&-1>>>(32-h|0);f=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[j>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-f|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+48|0;t=w+40|0;u=w+24|0;o=w+20|0;p=w+16|0;q=w;s=w+8|0;k[u>>2]=0;v=u+4|0;k[v>>2]=0;k[u+8>>2]=0;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=sl(g|0,h|0,4,0)|0;m=M;a:do if((e|0)<(m|0)|(e|0)==(m|0)&d>>>0>>0)d=0;else{n=k[b>>2]|0;x=n+g|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=f;k[y>>2]=j;k[y+4>>2]=m;b:do switch(x|0){case 3:{if(!((e|0)>(m|0)|(e|0)==(m|0)&d>>>0>j>>>0)){d=0;break a}y=i[n+j>>0]|0;n=sl(g|0,h|0,5,0)|0;x=f;k[x>>2]=n;k[x+4>>2]=M;k[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(Fb(a,b,u)|0)break b;else{d=0;break a}else{Dj(13495,23,1,k[1481]|0)|0;d=0;break a}}case 2:{if(!(Fb(a,b,u)|0)){d=0;break a}break}default:{Dj(13519,24,1,k[1481]|0)|0;d=0;break a}}while(0);k[o>>2]=k[u>>2];k[p>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;d=q;k[d>>2]=k[x>>2];k[d+4>>2]=y;k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];Oe(s,o,p,a,t);d=1}while(0);a=k[u>>2]|0;if(!a){r=w;return d|0}b=k[v>>2]|0;if((b|0)!=(a|0))k[v>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);cn(a);r=w;return d|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=a+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=a+16|0;d=f;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,5,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}c=(k[a>>2]|0)+c|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;i[b+4>>0]=i[c+4>>0]|0;c=f;c=sl(k[c>>2]|0,k[c+4>>2]|0,5,0)|0;d=M;j=f;k[j>>2]=c;k[j+4>>2]=d;if(ij(b,6935,5)|0){j=0;return j|0}j=e;h=k[j+4>>2]|0;if(!((h|0)>(d|0)|((h|0)==(d|0)?(k[j>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[b+5>>0]=i[(k[a>>2]|0)+c>>0]|0;c=f;c=sl(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;h=M;j=f;k[j>>2]=c;k[j+4>>2]=h;j=e;g=k[j+4>>2]|0;if(!((g|0)>(h|0)|((g|0)==(h|0)?(k[j>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[b+6>>0]=i[(k[a>>2]|0)+c>>0]|0;c=f;c=sl(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;h=M;j=f;k[j>>2]=c;k[j+4>>2]=h;j=e;g=k[j+4>>2]|0;if(!((g|0)>(h|0)|((g|0)==(h|0)?(k[j>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[b+7>>0]=i[(k[a>>2]|0)+c>>0]|0;c=f;c=sl(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;h=M;j=f;k[j>>2]=c;k[j+4>>2]=h;j=e;g=k[j+4>>2]|0;if(!((g|0)>(h|0)|((g|0)==(h|0)?(k[j>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[b+8>>0]=i[(k[a>>2]|0)+c>>0]|0;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;c=sl(g|0,j|0,1,0)|0;h=f;k[h>>2]=c;k[h+4>>2]=M;h=k[e>>2]|0;e=k[e+4>>2]|0;j=sl(g|0,j|0,3,0)|0;g=M;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=b+10|0;j=(k[a>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8;i[h>>0]=j;i[h+1>>0]=j>>8;h=f;h=sl(k[h>>2]|0,k[h+4>>2]|0,2,0)|0;j=f;k[j>>2]=h;k[j+4>>2]=M;j=1;return j|0}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;m=b+8|0;g=m;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=j;k[g>>2]=d;k[g+4>>2]=e;if((h|0)<0){o=0;r=p;return o|0}g=a+52|0;Ce(g,h,0);Lm(o);if(Ye(o,b)|0){if((h|0)>0){d=1;e=0;do{d=d^((Ti(o)|0)^1);f=(k[g>>2]|0)+(e>>>5<<2)|0;c=1<<(e&31);if(d)c=k[f>>2]|c;else c=k[f>>2]&~c;k[f>>2]=c;e=e+1|0}while((e|0)<(h|0))}e=m;g=k[e>>2]|0;e=k[e+4>>2]|0;h=j;c=k[h>>2]|0;h=sl(c|0,k[h+4>>2]|0,4,0)|0;f=M;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=j,e=k[g>>2]|0,g=k[g+4>>2]|0,n=sl(e|0,g|0,4,0)|0,f=j,k[f>>2]=n,k[f+4>>2]=M,f=m,h=k[f>>2]|0,f=k[f+4>>2]|0,m=sl(e|0,g|0,8,0)|0,g=M,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){c=a+16|0;n=(k[b>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[c>>0]=n;i[c+1>>0]=n>>8;i[c+2>>0]=n>>16;i[c+3>>0]=n>>24;n=j;n=sl(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;c=j;k[c>>2]=n;k[c+4>>2]=M;c=1}else c=0}else c=0;fn(o);o=c;r=p;return o|0}function Be(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,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+O(+(+(e|0)))+ +O(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=$(f,h)|0;j=$(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if(($(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;l=(f+l|0)/2|0;k[c>>2]=l;g=(e+j|0)/2|0;k[m>>2]=g;h=0;e=l;j=k[n>>2]|0}else{h=1;j=f}f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;l=a+4|0;k[l>>2]=e;if((j|0)>=(f|0)){if((f|0)<(0-j|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((j|0)>=(e|0))if((e|0)<(0-j|0))i=(k[b+4>>2]|0)+e|0;else i=e;else i=e-(k[b+4>>2]|0)|0;k[l>>2]=i;if(h){o=i;b=f;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}if((f|0)>-1)if((i|0)<=-1)if((f|0)<1){g=-1;h=-1}else o=24;else{g=1;h=1}else if((i|0)<1){g=-1;h=-1}else o=24;if((o|0)==24){g=(f|0)>0?1:-1;h=(i|0)>0?1:-1}c=$(j,g)|0;j=$(j,h)|0;e=(f<<1)-c|0;k[a>>2]=e;f=(i<<1)-j|0;k[l>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+c|0)/2|0;k[a>>2]=b;o=(e+j|0)/2|0;k[l>>2]=o;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;m=p+8|0;i=p;n=a+4|0;e=k[n>>2]|0;if(e>>>0>=b>>>0){k[n>>2]=b;r=p;return}o=a+8|0;f=k[o>>2]|0;l=f<<5;d=b-e|0;if(l>>>0>>0|e>>>0>(l-d|0)>>>0){k[m>>2]=0;j=m+4|0;k[j>>2]=0;l=m+8|0;k[l>>2]=0;if((b|0)<0)hm(a);e=f<<6;g=b+31&-32;Xg(m,f<<5>>>0<1073741823?(e>>>0>>0?g:e):2147483647);f=k[n>>2]|0;k[j>>2]=f+d;e=k[a>>2]|0;g=e;b=k[m>>2]|0;f=(g+(f>>>5<<2)-e<<3)+(f&31)|0;if((f|0)>0){h=f>>>5;Wj(b|0,e|0,h<<2|0)|0;e=f-(h<<5)|0;f=b+(h<<2)|0;b=f;if((e|0)>0){q=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~q|k[g+(h<<2)>>2]&q}else e=0}else e=0;k[i>>2]=b;k[i+4>>2]=e;f=i;b=k[f>>2]|0;f=k[f+4>>2]|0;e=k[a>>2]|0;k[a>>2]=k[m>>2];k[m>>2]=e;q=k[n>>2]|0;k[n>>2]=k[j>>2];k[j>>2]=q;q=k[o>>2]|0;k[o>>2]=k[l>>2];k[l>>2]=q;if(e|0)cn(e)}else{f=(k[a>>2]|0)+(e>>>5<<2)|0;k[n>>2]=b;b=f;f=e&31}if(!d){r=p;return}g=(f|0)==0;e=b;if(c){if(!g){q=32-f|0;b=q>>>0>d>>>0?d:q;k[e>>2]=k[e>>2]|-1>>>(q-b|0)&-1<>>5;Vi(b|0,-1,q<<2|0)|0;d=d-(q<<5)|0;b=e+(q<<2)|0;if(!d){r=p;return}k[b>>2]=k[b>>2]|-1>>>(32-d|0);r=p;return}else{if(!g){q=32-f|0;b=q>>>0>d>>>0?d:q;k[e>>2]=k[e>>2]&~(-1>>>(q-b|0)&-1<>>5;Vi(b|0,0,q<<2|0)|0;d=d-(q<<5)|0;b=e+(q<<2)|0;if(!d){r=p;return}k[b>>2]=k[b>>2]&~(-1>>>(32-d|0));r=p;return}}function De(a,b){a=a|0;b=b|0;var c=0,d=Pa,e=Pa,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=Pa;m=k[b>>2]|0;h=a+4|0;i=k[h>>2]|0;j=(i|0)==0;a:do if(!j){f=i+-1|0;c=(f&i|0)==0;if(c)g=f&m;else g=(m>>>0)%(i>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b)if(c){do{b=k[b>>2]|0;if(!b){b=g;break a}if((k[b+4>>2]&f|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}else{do{b=k[b>>2]|0;if(!b){b=g;break a}if((((k[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}else b=g}else b=0;while(0);g=xk(16)|0;k[g+8>>2]=m;k[g+12>>2]=0;k[g+4>>2]=m;k[g>>2]=0;l=a+12|0;d=da(((k[l>>2]|0)+1|0)>>>0);n=da(i>>>0);e=da(o[a+16>>2]);do if(j|d>da(n*e)){b=(i>>>0>2&(i+-1&i|0)==0&1|i<<1)^1;c=~~da(_(da(d/e)))>>>0;Vg(a,b>>>0>>0?c:b);b=k[h>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&m;break}else{f=b;b=(m>>>0)%(b>>>0)|0;break}}else f=i;while(0);b=(k[a>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){m=a+8|0;k[g>>2]=k[m>>2];k[m>>2]=g;k[b>>2]=m;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;k[(k[a>>2]|0)+(b<<2)>>2]=g}}else{k[g>>2]=k[c>>2];k[c>>2]=g}k[l>>2]=(k[l>>2]|0)+1;a=g;a=a+12|0;return a|0}function Ee(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,l=0,m=0,n=0,o=0,p=0.0;n=b+8|0;f=k[n>>2]|0;o=c+4|0;m=(k[o>>2]|0)-f|0;e=c;k[e>>2]=(k[c>>2]|0)-f;k[e+4>>2]=m;e=(k[d>>2]|0)-f|0;m=d+4|0;f=(k[m>>2]|0)-f|0;i=d;k[i>>2]=e;k[i+4>>2]=f;p=+O(+(+(e|0)))+ +O(+(+(f|0)));i=k[n>>2]|0;if(!(p<=+(i|0))){e=k[c>>2]|0;f=k[o>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=6;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=6;if((l|0)==6){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=$(i,g)|0;i=$(i,h)|0;e=(e<<1)-j|0;k[c>>2]=e;f=(f<<1)-i|0;k[o>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;k[c>>2]=(f+j|0)/2|0;k[o>>2]=(e+i|0)/2|0;e=k[d>>2]|0;f=k[m>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=14;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=14;if((l|0)==14){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=k[n>>2]|0;i=$(j,g)|0;j=$(j,h)|0;e=(e<<1)-i|0;k[d>>2]=e;f=(f<<1)-j|0;k[m>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[d>>2]=f;e=0-e|0}else k[d>>2]=f;i=(f+i|0)/2|0;k[d>>2]=i;f=(e+j|0)/2|0;k[m>>2]=f;e=i;i=k[n>>2]|0}e=(k[c>>2]|0)-e|0;k[a>>2]=e;g=(k[o>>2]|0)-f|0;h=a+4|0;k[h>>2]=g;f=i<<1;if((f|0)<(e|0))Ka(9367,11377,162,9391);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(g|0))Ka(9367,11377,162,9391);if((g|0)>=0){b=g;k[h>>2]=b;return}b=(k[b+4>>2]|0)+g|0;k[h>>2]=b;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;j=n;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;if(((e-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;Uj(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[m>>2]|0)+116|0;k[m>>2]=c;b=b+-1|0}while((b|0)!=0);r=n;return}f=k[a>>2]|0;d=((c-f|0)/116|0)+b|0;if(d>>>0>37025580)hm(a);h=(e-f|0)/116|0;e=h<<1;e=h>>>0<18512790?(e>>>0>>0?d:e):37025580;c=(c-f|0)/116|0;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(e)if(e>>>0>37025580){n=Ma(4)|0;Om(n);xa(n|0,1024,93)}else{d=xk(e*116|0)|0;break}else d=0;while(0);k[j>>2]=d;c=d+(c*116|0)|0;g=j+8|0;k[g>>2]=c;f=j+4|0;k[f>>2]=c;h=j+12|0;k[h>>2]=d+(e*116|0);do{k[c>>2]=-1;Uj(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[g>>2]|0)+116|0;k[g>>2]=c;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;c=k[m>>2]|0;if((c|0)==(d|0)){e=f;b=k[f>>2]|0}else{b=k[f>>2]|0;do{b=b+-116|0;c=c+-116|0;He(b,c);k[f>>2]=b}while((c|0)!=(d|0));e=f;d=k[a>>2]|0;c=k[m>>2]|0}k[a>>2]=b;k[e>>2]=d;k[m>>2]=k[g>>2];k[g>>2]=c;m=k[l>>2]|0;k[l>>2]=k[h>>2];k[h>>2]=m;k[j>>2]=k[e>>2];eh(j);r=n;return}function Ge(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;q=a+8|0;k[q>>2]=e;r=k[a+24>>2]|0;p=k[a+28>>2]|0;j=e>>>0>1073741823?-1:e<<2;s=$m(j)|0;Vi(s|0,0,j|0)|0;Sg(q,s,b,c,0);j=a+32|0;g=k[j>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;o=a-f|0;l=o>>2;if((o|0)<=4){an(s);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(a-f>>2>>>0<=d>>>0){d=6;break}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[p>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[s+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}Sg(q,s,b,c+(i<<2)|0,i)}else Sg(q,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(i<<2)|0,i);d=d+1|0;if((d|0)>=(l|0)){d=3;break}g=k[j>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}if((d|0)==3){an(s);return 1}else if((d|0)==6)gm(g);return 0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Ie(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;q=a+8|0;k[q>>2]=e;r=k[a+24>>2]|0;p=k[a+28>>2]|0;j=e>>>0>1073741823?-1:e<<2;s=$m(j)|0;Vi(s|0,0,j|0)|0;Ug(q,s,b,c,0);j=a+32|0;g=k[j>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;o=a-f|0;l=o>>2;if((o|0)<=4){an(s);return 1}m=r+64|0;n=r+28|0;o=(e|0)>0;d=1;while(1){if(a-f>>2>>>0<=d>>>0){d=6;break}f=k[f+(d<<2)>>2]|0;i=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[r>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(t=k[(k[(k[m>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(t|0)>=0):0)?(w=k[n>>2]|0,h=k[p>>2]|0,u=k[h+(k[w+(t<<2)>>2]<<2)>>2]|0,v=t+1|0,v=k[h+(k[w+((((v|0)%3|0|0)==0?t+-2|0:v)<<2)>>2]<<2)>>2]|0,w=k[h+(k[w+((((t>>>0)%3|0|0)==0?2:-1)+t<<2)>>2]<<2)>>2]|0,(u|0)<(d|0)&(v|0)<(d|0)&(w|0)<(d|0)):0){a=$(u,e)|0;g=$(v,e)|0;h=$(w,e)|0;if(o){f=0;do{k[s+(f<<2)>>2]=(k[c+(f+h<<2)>>2]|0)+(k[c+(f+g<<2)>>2]|0)-(k[c+(f+a<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}Ug(q,s,b,c+(i<<2)|0,i)}else Ug(q,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(i<<2)|0,i);d=d+1|0;if((d|0)>=(l|0)){d=3;break}g=k[j>>2]|0;f=k[g>>2]|0;a=k[g+4>>2]|0}if((d|0)==3){an(s);return 1}else if((d|0)==6)gm(g);return 0}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+48|0;j=m+8|0;l=m;c=m+40|0;i[c>>0]=k[a+84>>2];h=b+16|0;g=h;f=k[g+4>>2]|0;if(!((f|0)>0|(f|0)==0&(k[g>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+1|0)|0}f=0;do{g=f;f=f+1|0;c=a+36+(g*12|0)+4|0;$g(k[c>>2]|0,b);if(k[c>>2]|0){yk(j);wi(j);c=(k[c>>2]|0)-f|0;if((c|0)>-1){e=a+36+(g*12|0)|0;do{d=0;while(1){n=d+c|0;Bh(j,(k[(k[e>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)!=0);if((d|0)<(g|0))d=d+1|0;else break}c=c-f|0}while((c|0)>-1)}sc(j,b);Oh(j)}}while((f|0)<4);c=a+12|0;n=h;g=k[n+4>>2]|0;if((g|0)>0|(g|0)==0&(k[n>>2]|0)>>>0>0){r=m;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;n=h;h=k[n+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[n>>2]|0)>>>0>0){r=m;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;r=m;return 1}function Ke(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,j=0,l=0,m=0,n=0,o=0;l=k[a>>2]|0;h=l;b=l+((k[b>>2]|0)-h)|0;j=d-c|0;if((j|0)<=0){o=b;return o|0}n=a+8|0;f=k[n>>2]|0;o=a+4|0;m=k[o>>2]|0;e=m;if((j|0)<=(f-e|0)){g=e-b|0;if((j|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;f=f+1|0;e=(k[o>>2]|0)+1|0;k[o>>2]=e}while((f|0)!=(d|0))}if((g|0)>0){d=h;h=e}else{o=b;return o|0}}else h=m;g=h-(b+j)|0;e=b+g|0;if(e>>>0>>0){f=h;do{i[f>>0]=i[e>>0]|0;e=e+1|0;f=(k[o>>2]|0)+1|0;k[o>>2]=f}while((e|0)!=(m|0))}if(g|0)Wj(h+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){o=b;return o|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}e=e-h+j|0;if((e|0)<0)hm(a);j=f-h|0;f=j<<1;f=j>>>0<1073741823?(f>>>0>>0?e:f):2147483647;j=b;if(!f)g=0;else g=xk(f)|0;m=g+(j-h)|0;e=m;h=g+f|0;if((c|0)==(d|0)){c=e;f=l}else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}e=j-f|0;g=m+(0-e)|0;if((e|0)>0)Ii(g|0,f|0,e|0)|0;e=(k[o>>2]|0)-j|0;if((e|0)>0){Ii(c|0,b|0,e|0)|0;c=c+e|0;b=k[a>>2]|0}else b=f;k[a>>2]=g;k[o>>2]=c;k[n>>2]=h;if(!b){o=m;return o|0}cn(b);o=m;return o|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+48|0;j=m+8|0;l=m;c=m+40|0;i[c>>0]=k[a+108>>2];h=b+16|0;g=h;f=k[g+4>>2]|0;if(!((f|0)>0|(f|0)==0&(k[g>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+1|0)|0}f=0;do{g=f;f=f+1|0;c=a+60+(g*12|0)+4|0;$g(k[c>>2]|0,b);if(k[c>>2]|0){yk(j);wi(j);c=(k[c>>2]|0)-f|0;if((c|0)>-1){e=a+60+(g*12|0)|0;do{d=0;while(1){n=d+c|0;Bh(j,(k[(k[e>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)!=0);if((d|0)<(g|0))d=d+1|0;else break}c=c-f|0}while((c|0)>-1)}sc(j,b);Oh(j)}}while((f|0)<4);c=a+12|0;n=h;g=k[n+4>>2]|0;if((g|0)>0|(g|0)==0&(k[n>>2]|0)>>>0>0){r=m;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;n=h;h=k[n+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[n>>2]|0)>>>0>0){r=m;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Ke(b,j,c,c+4|0)|0;r=m;return 1}function Me(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);d=da(e*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);d=da(e*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function Oe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Pa,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=Pa,y=Pa,z=Pa,A=Pa,B=0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=da(o[d+4>>2]);if(!(f>=da(0.0)))Ka(13544,13564,66,13621);t=(1<>2])+-1|0;am(v);Nk(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){u=e;u=k[u>>2]|0;e=e+4|0;e=k[e>>2]|0;v=a;c=v;k[c>>2]=u;v=v+4|0;k[v>>2]=e;r=w;return}m=v+4|0;l=e+4|0;h=u+4|0;j=u+8|0;s=k[e>>2]|0;n=s+84|0;p=s+68|0;q=s+40|0;s=s+64|0;g=k[l>>2]|0;do{B=(k[d>>2]|0)-t|0;b=(B|0)<0;y=da((b?0-B|0:B)|0);f=da(o[m>>2]);y=da(f*y);x=da(-y);A=da(o[v>>2]);y=da(A*(b?x:y));b=(k[d+4>>2]|0)-t|0;B=(b|0)<0;x=da(f*da((B?0-b|0:b)|0));z=da(-x);x=da(A*(B?z:x));B=(k[d+8>>2]|0)-t|0;b=(B|0)<0;f=da(f*da((b?0-B|0:B)|0));z=da(-f);f=da(A*(b?z:f));b=g;g=g+1|0;k[l>>2]=g;o[u>>2]=y;o[h>>2]=x;o[j>>2]=f;if(!(i[n>>0]|0))b=k[(k[p>>2]|0)+(b<<2)>>2]|0;C=q;B=k[C>>2]|0;b=uk(b|0,((b|0)<0)<<31>>31|0,B|0,k[C+4>>2]|0)|0;Ii((k[k[s>>2]>>2]|0)+b|0,u|0,B|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));B=e;e=B;e=k[e>>2]|0;B=B+4|0;B=k[B>>2]|0;C=a;v=C;k[v>>2]=e;C=C+4|0;k[C>>2]=B;r=w;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+144|0;c=l+136|0;h=l+32|0;g=l;d=k[(k[a+4>>2]|0)+28>>2]|0;j=xk(124)|0;k[j+4>>2]=0;k[j>>2]=5748;k[j+12>>2]=5772;k[j+100>>2]=0;k[j+104>>2]=0;k[j+108>>2]=0;e=j+16|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));k[j+112>>2]=d;k[j+116>>2]=b;k[j+120>>2]=0;k[h+4>>2]=5772;k[h+92>>2]=0;k[h+96>>2]=0;k[h+100>>2]=0;e=h+8|0;f=e+80|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=k[a+8>>2]|0;k[g>>2]=5772;f=g+4|0;e=f+4|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;e=a;k[f>>2]=e;e=((k[e+4>>2]|0)-(k[a>>2]|0)|0)/12|0;i[c>>0]=0;lg(g+8|0,e,c);Ta[k[(k[g>>2]|0)+8>>2]&127](g);k[h>>2]=k[f>>2];sf(h+4|0,g)|0;k[h+36>>2]=a;k[h+40>>2]=b;k[h+44>>2]=d;k[h+48>>2]=j;Jf(j,h);k[g>>2]=5772;a=k[g+20>>2]|0;if(a|0)cn(a);a=k[g+8>>2]|0;if(!a){nh(h);r=l;return j|0}cn(a);nh(h);r=l;return j|0}function Qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8)<<16>>16);d=da(e/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&65535)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&65535)<<16>>16);e=da(d/da(32767.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ag(l,m-e|0,5736);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}n=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+80|0;j=c+84|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(h*12|0)+(((e>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=e+1|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=e+2|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(14216,14197,64,14211);else if((d|0)==12)Ka(14270,14289,80,14321);else if((d|0)==13)return c|0;return 0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;e=da((l[b>>0]|l[b+1>>0]<<8)&65535);d=da(e/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&65535);e=da(d/da(65535.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;n=t+4|0;o=t;c=k[b>>2]|0;k[n>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){k[n+4>>2]=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[n+4>>2]=c;b=c}while(0);k[n+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;h=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){b=0;do{if(Ti((k[i>>2]|0)+(b<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(b*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(b*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4}else xh(a+(b*116|0)+104|0,o)}b=b+1|0}while(b>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else s=11;if((s|0)==11?(s=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){g=0;b=q;a=p;do{d=b;k[o>>2]=c;e=d+(g*116|0)+108|0;f=k[e>>2]|0;if(f>>>0<(k[d+(g*116|0)+112>>2]|0)>>>0){k[f>>2]=c;k[e>>2]=f+4}else{xh(d+(g*116|0)+104|0,o);b=k[j>>2]|0;a=k[l>>2]|0}g=g+1|0}while(g>>>0<((a-b|0)/116|0)>>>0)}b=h+1|0;if((b|0)==3)break;h=b;c=k[n+(b<<2)>>2]|0}r=t;return 1}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+112|0;c=k[j>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ag(l,m-e|0,5736);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}n=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=b+68|0;a=c+80|0;j=c+84|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(h*12|0)+(((e>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=e+1|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=e+2|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ka(14216,14197,64,14211);else if((d|0)==12)Ka(14270,14289,80,14321);else if((d|0)==13)return c|0;return 0}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(jd(a,b)|0)){n=0;return n|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;g=a+28|0;c=k[g>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(h=e+(f<<2)|0,(c|0)!=(h|0)):0)do{j=c+-4|0;k[g>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[g>>2]|0}while((c|0)!=(h|0))}else Mf(l,f-d|0);f=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){n=1;return n|0}g=b+16|0;h=a+16|0;j=a+4|0;e=0;while(1){o=f;p=k[o+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=sl(c|0,d|0,1,0)|0;p=g;k[p>>2]=c;k[p+4>>2]=M;p=(k[l>>2]|0)+(e<<2)|0;o=Za[k[(k[a>>2]|0)+20>>2]&127](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(Ra[k[(k[c>>2]|0)+8>>2]&31](c,k[h>>2]|0,k[(k[j>>2]|0)+(e<<2)>>2]|0)|0)){c=0;d=17;break}e=e+1|0;if((e|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;e=da(i[(k[k[a>>2]>>2]|0)+b>>0]|0);d=da(e/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(((l[h>>0]|l[h+1>>0]<<8)&255)<<24>>24);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0;d=da(i[(k[k[a>>2]>>2]|0)+h>>0]|0);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&255)<<24>>24);e=da(d/da(127.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;h=d;f=k[h+4>>2]|0;j=b+16|0;g=j;c=k[g>>2]|0;g=k[g+4>>2]|0;if(!((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[a+12>>0]=i[(k[b>>2]|0)+c>>0]|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;e=sl(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=sl(h|0,g|0,5,0)|0;h=M;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;e=c+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=j;k[b>>2]=g;k[b+4>>2]=h;f=al(d|0,f|0,g|0,h|0)|0;b=M;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;d=(l[b>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;d=c+e+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;d=c+e+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}h=sl(g|0,h|0,e|0,0)|0;k[j>>2]=h;k[j+4>>2]=M;j=1;return j|0}function Ze(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+40|0;o=s+32|0;p=s+24|0;q=s+16|0;j=s+8|0;f=s;l=k[c>>2]|0;m=a+8|0;g=k[m>>2]<<1;if((l|0)>(g|0))Ka(9128,8780,90,9163);h=k[c+4>>2]|0;if((h|0)>(g|0))Ka(9181,8780,91,9163);i=k[b>>2]|0;if((i|0)>(g|0))Ka(9216,8780,92,9163);b=k[b+4>>2]|0;if((b|0)>(g|0))Ka(9251,8780,93,9163);if((l|0)<=-1)Ka(9026,8780,94,9163);if((h|0)<=-1)Ka(9048,8780,95,9163);if((i|0)<=-1)Ka(9286,8780,96,9163);if((b|0)<=-1)Ka(9308,8780,97,9163);k[j>>2]=i;k[j+4>>2]=b;k[f>>2]=l;k[f+4>>2]=h;Uc(q,a,j,f);g=k[q>>2]|0;c=q+4|0;j=k[c>>2]|0;k[o>>2]=l;k[o+4>>2]=h;k[p>>2]=g;k[p+4>>2]=j;pd(n,a,o,p);m=k[m>>2]|0;l=i-m|0;j=b-m|0;p=(k[n>>2]|0)-m|0;n=(k[n+4>>2]|0)-m|0;a=0-l|0;j=((j|0)<0?(((l|0)>-1?l:a)|0)==(m|0):0)?0-j|0:j;o=0-p|0;n=((n|0)<0?(((p|0)>-1?p:o)|0)==(m|0):0)?0-n|0:n;if((j|0)==(n|0)?((((l|0)<0?(((j|0)>-1?j:0-j|0)|0)==(m|0):0)?a:l)|0)==((((p|0)<0?(((n|0)>-1?n:0-n|0)|0)==(m|0):0)?o:p)|0):0){k[d+(e<<2)>>2]=k[q>>2];k[d+(e+1<<2)>>2]=k[c>>2];r=s;return}else Ka(9330,8780,102,9163)}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;h=a+40|0;b=sl(uk(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0;e=da(l[(k[k[a>>2]>>2]|0)+b>>0]|0);d=da(e/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?e:d;c=1;return c|0}case 2:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8)&255);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 3:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0;d=da(l[(k[k[a>>2]>>2]|0)+h>>0]|0);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=a+40|0;h=(sl(uk(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)&255);e=da(d/da(255.0));o[c>>2]=(i[a+32>>0]|0)==0?d:e;h=1;return h|0}default:{h=0;return h|0}}return 0}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ag(l,m-e|0,5736);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}p=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+80|0;l=c+84|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[l>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[p>>2]|0;g=k[(k[o>>2]|0)+12>>2]|0;d=k[g+(k[f+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}h=k[n>>2]|0;k[h+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=k[g+(k[f+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=k[g+(k[f+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Ka(14216,14197,64,14211);else if((d|0)==12)Ka(14270,14289,80,14321);else if((d|0)==14)return c|0;return 0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;d=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(d>>>0>1073741823)hm(m);else{i=b*12|0;c=xk(i)|0;k[m>>2]=c;j=c+(d<<2)|0;k[m+8>>2]=j;Vi(c|0,0,i|0)|0;k[n>>2]=j;break}else c=0;while(0);if(zh(d,1,k[a+20>>2]|0,c)|0)if((b|0)>0){e=a+28|0;f=l+4|0;g=l+8|0;a=0;c=0;d=0;while(1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;j=k[m>>2]|0;p=k[j+(c<<2)>>2]|0;h=p>>>1;h=((p&1|0)==0?h:0-h|0)+d|0;k[l>>2]=h;p=k[j+(c+1<<2)>>2]|0;i=p>>>1;h=((p&1|0)==0?i:0-i|0)+h|0;k[f>>2]=h;j=k[j+(c+2<<2)>>2]|0;i=j>>>1;d=((j&1|0)==0?i:0-i|0)+h|0;k[g>>2]=d;h=k[e>>2]|0;i=h+84|0;j=k[i>>2]|0;if((j|0)==(k[h+88>>2]|0))dh(h+80|0,l);else{k[j>>2]=k[l>>2];k[j+4>>2]=k[l+4>>2];k[j+8>>2]=k[l+8>>2];k[i>>2]=(k[i>>2]|0)+12}a=a+1|0;if((a|0)>=(b|0)){d=1;break}else c=c+3|0}}else d=1;else d=0;a=k[m>>2]|0;if(!a){r=o;return d|0}c=k[n>>2]|0;if((c|0)!=(a|0))k[n>>2]=c+(~((c+-4-a|0)>>>2)<<2);cn(a);r=o;return d|0}function bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=5724;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;do if(e|0)if((e|0)<0)hm(f);else{e=((e+-1|0)>>>5)+1|0;o=xk(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];uf(f,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)hm(f);o=((e+-1|0)>>>5)+1|0;a=xk(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];uf(f,i,j);r=n;return}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s+40|0;p=s+32|0;q=s+24|0;i=s+16|0;j=s+8|0;l=s;m=k[c>>2]|0;n=a+8|0;f=k[n>>2]<<1;if((m|0)>(f|0))Ka(9128,11377,85,9163);g=k[c+4>>2]|0;if((g|0)>(f|0))Ka(9181,11377,86,9163);h=k[b>>2]|0;if((h|0)>(f|0))Ka(9216,11377,87,9163);b=k[b+4>>2]|0;if((b|0)>(f|0))Ka(9251,11377,88,9163);if((m|0)<=-1)Ka(9026,11377,89,9163);if((g|0)<=-1)Ka(9048,11377,90,9163);if((h|0)<=-1)Ka(9286,11377,91,9163);if((b|0)<=-1)Ka(9308,11377,92,9163);k[i>>2]=h;k[i+4>>2]=b;k[j>>2]=m;k[j+4>>2]=g;Ee(q,a,i,j);k[l>>2]=k[q>>2];c=q+4|0;k[l+4>>2]=k[c>>2];k[p>>2]=m;k[p+4>>2]=g;Be(o,a,p,l);n=k[n>>2]|0;l=h-n|0;j=b-n|0;p=(k[o>>2]|0)-n|0;m=(k[o+4>>2]|0)-n|0;a=0-l|0;j=((j|0)<0?(((l|0)>-1?l:a)|0)==(n|0):0)?0-j|0:j;o=0-p|0;m=((m|0)<0?(((p|0)>-1?p:o)|0)==(n|0):0)?0-m|0:m;if((j|0)==(m|0)?((((l|0)<0?(((j|0)>-1?j:0-j|0)|0)==(n|0):0)?a:l)|0)==((((p|0)<0?(((m|0)>-1?m:0-m|0)|0)==(n|0):0)?o:p)|0):0){k[d+(e<<2)>>2]=k[q>>2];k[d+(e+1<<2)>>2]=k[c>>2];r=s;return}else Ka(9330,11377,98,9163)}function df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=5772;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;do if(e|0)if((e|0)<0)hm(f);else{e=((e+-1|0)>>>5)+1|0;o=xk(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];uf(f,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)hm(f);o=((e+-1|0)>>>5)+1|0;a=xk(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];uf(f,i,j);r=n;return}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>357913941)hm(a);m=(d-0|0)/12|0;d=m<<1;d=m>>>0<178956970?(d>>>0>>0?b:d):357913941;if(d>>>0>357913941)hm(a);m=xk(d*12|0)|0;e=a+4|0;k[e>>2]=m;k[a>>2]=m;k[h>>2]=m+(d*12|0);d=m;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}else{l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;i=j;if(d|0){a=c+4|0;h=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[a>>2];k[e+8>>2]=k[h>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((i|0)==(b|0))return;k[l>>2]=i+(~(((i+-12-b|0)>>>0)/12|0)*12|0);return}}function ff(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(13387,13403,54,13431);f=k[g+4>>2]|0;if(((k[g+8>>2]|0)-f>>2|0)<=(c|0))Ka(13441,13403,55,13431);g=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<4&(Va[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){j=0;r=l;return j|0}h=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=Za[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;do if(!((h|0)==0|(i|0)==0)){f=Za[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;if(!f){k[j>>2]=k[a+28>>2];k[j+4>>2]=h;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Id(b,g,d,j,e)|0;if(!f)f=0;else break;j=f;r=l;return j|0}else{k[j>>2]=k[a+28>>2];k[j+4>>2]=f;k[j+12>>2]=i;k[j+8>>2]=i+12;f=Hd(b,g,d,j,e)|0;if(!f)f=0;else break;j=f;r=l;return j|0}}else f=0;while(0);j=f;r=l;return j|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=$m(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)an(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=sl(d|0,k[h+4>>2]|0,b|0,0)|0;m=M;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}Ii(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=sl(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=M;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=sl(e|0,k[n+4>>2]|0,4,0)|0;j=M;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=sl(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=M;b=k[b>>2]|0;n=b+8|0;m=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(k[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}b=i[(k[b>>2]|0)+d>>0]|0;m=sl(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=M;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k[b>>2]|0;f=k[c>>2]|0;g=f-m>>2;h=a+8|0;d=k[h>>2]|0;j=k[a>>2]|0;b=m;i=j;l=f;if(g>>>0<=d-j>>2>>>0){a=a+4|0;h=(k[a>>2]|0)-j>>2;e=g>>>0>h>>>0;h=e?b+(h<<2)|0:f;b=h-m|0;d=b>>2;if(d|0)Wj(j|0,m|0,b|0)|0;d=i+(d<<2)|0;if(!e){b=k[a>>2]|0;if((b|0)==(d|0))return;k[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}g=k[c>>2]|0;b=h;if((b|0)==(g|0))return;f=k[a>>2]|0;e=g+-4-h|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(g|0))break;else d=d+4|0}k[a>>2]=f+((e>>>2)+1<<2);return}f=j;if(j){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-j|0)>>>2)<<2);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)hm(a);j=d-0|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823)hm(a);f=xk(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(l|0))return;e=l+-4-m|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(l|0))break;else d=d+4|0}k[g>>2]=f+((e>>>2)+1<<2);return}function jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;l=o;m=a+8|0;d=k[m>>2]|0;n=a+4|0;f=k[n>>2]|0;if(d-f>>2>>>0>=b>>>0){Vi(f|0,0,b<<2|0)|0;k[n>>2]=f+(b<<2);r=o;return}e=k[a>>2]|0;c=(f-e>>2)+b|0;if(c>>>0>1073741823)hm(a);j=d-e|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;c=f-e>>2;k[l+12>>2]=0;k[l+16>>2]=a+8;do if(g)if(g>>>0>1073741823){o=Ma(4)|0;Om(o);xa(o|0,1024,93)}else{d=xk(g<<2)|0;break}else d=0;while(0);k[l>>2]=d;e=d+(c<<2)|0;i=l+8|0;h=l+4|0;k[h>>2]=e;j=l+12|0;k[j>>2]=d+(g<<2);Vi(e|0,0,b<<2|0)|0;k[i>>2]=e+(b<<2);e=k[a>>2]|0;c=k[n>>2]|0;if((c|0)==(e|0)){f=h;d=k[h>>2]|0}else{d=k[h>>2]|0;do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=(k[h>>2]|0)+-4|0;k[h>>2]=d}while((c|0)!=(e|0));f=h;e=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[f>>2]=e;k[n>>2]=k[i>>2];k[i>>2]=c;n=k[m>>2]|0;k[m>>2]=k[j>>2];k[j>>2]=n;k[l>>2]=k[f>>2];th(l);r=o;return}function kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)Wj(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=((c+-4-a|0)>>>2)+1|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+(e<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)hm(a);l=d-0|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823)hm(a);f=xk(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=((c+-4-m|0)>>>2)+1|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e<<2);return}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)Wj(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=c+-4-a|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+((e>>>2)+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)hm(a);l=d-0|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823)hm(a);f=xk(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=c+-4-m|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+((e>>>2)+1<<2);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;f=k[l>>2]|0;e=f;if(((d-f|0)/12|0)>>>0>=b>>>0){Vi(f|0,0,b*12|0)|0;k[l>>2]=e+(b*12|0);return}h=k[a>>2]|0;c=((f-h|0)/12|0)+b|0;if(c>>>0>357913941)hm(a);i=h;d=(d-h|0)/12|0;g=d<<1;g=d>>>0<178956970?(g>>>0>>0?c:g):357913941;c=(f-h|0)/12|0;do if(g)if(g>>>0>357913941){l=Ma(4)|0;Om(l);xa(l|0,1024,93)}else{f=xk(g*12|0)|0;break}else f=0;while(0);c=f+(c*12|0)|0;d=c;g=f+(g*12|0)|0;Vi(c|0,0,b*12|0)|0;f=c+(b*12|0)|0;if((e|0)!=(i|0)){do{h=c+-12|0;b=e;e=e+-12|0;k[h>>2]=0;m=c+-8|0;k[m>>2]=0;k[c+-4>>2]=0;k[h>>2]=k[e>>2];h=b+-8|0;k[m>>2]=k[h>>2];b=b+-4|0;k[c+-4>>2]=k[b>>2];k[b>>2]=0;k[h>>2]=0;k[e>>2]=0;c=d+-12|0;d=c}while((e|0)!=(i|0));h=k[a>>2]|0;e=k[l>>2]|0}k[a>>2]=d;k[l>>2]=f;k[j>>2]=g;b=h;if((e|0)!=(b|0))do{c=e;e=e+-12|0;f=k[e>>2]|0;g=f;if(f|0){c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(f|0))k[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);cn(f)}}while((e|0)!=(b|0));if(!h)return;cn(h);return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;if(d-g>>3>>>0>=b>>>0){h=a+4|0;a=k[h>>2]|0;f=a-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){m=c;l=k[m+4>>2]|0;j=e;k[j>>2]=k[m>>2];k[j+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=a;while(1){j=c;l=k[j+4>>2]|0;m=f;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[h>>2]=a+(e<<3);return}else{d=i+(b<<3)|0;if((a|0)==(d|0))return;k[h>>2]=a+(~((a+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)hm(a);m=d-0|0;d=m>>2;d=m>>3>>>0<268435455?(d>>>0>>0?b:d):536870911;if(d>>>0>536870911)hm(a);f=xk(d<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=k[a>>2]|0;n=a+4|0;c=k[n>>2]|0;j=m;if((c|0)==(m|0))d=m;else{d=c+(~((c+-4-j|0)>>>2)<<2)|0;k[n>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;p=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=sl(g|0,k[f+4>>2]|0,4,0)|0;e=M;if((d|0)<(e|0)|(d|0)==(e|0)&p>>>0>>0){b=0;return b|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;h=al(p|0,d|0,f|0,e|0)|0;g=M;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){b=0;return b|0}h=q>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(o=m+(h<<2)|0,(c|0)!=(o|0)):0){k[n>>2]=c+(~((c+-4-o|0)>>>2)<<2);c=p}else c=p;else{jh(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=sl(f|0,e|0,q|0,0)|0;o=M;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0){b=0;return b|0}Ii(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=r;q=sl(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=M;k[t>>2]=k[a>>2];k[s>>2]=0;b=1;return b|0}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=Pa,v=Pa,w=0,x=0;t=r;r=r+16|0;h=t;n=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;p=m<<2;s=$m(m>>>0>1073741823?-1:m<<2)|0;am(h);Nk(h,da(o[a+40>>2]),(1<>24>0){e=0;f=0;a=0}else{a=0;c=0;while(1){Ii((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,s|0,p|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+p|0}an(s);r=t;return 1}a:while(1){d=0;c=k[n>>2]|0;do{if((k[j>>2]|0)-c>>2>>>0<=a>>>0){a=5;break a}x=a;a=a+1|0;x=k[c+(x<<2)>>2]|0;w=(x|0)<0;u=da((w?0-x|0:x)|0);u=da(da(o[l>>2])*u);v=da(-u);u=da(da(o[h>>2])*(w?v:u));u=da(da(o[(k[g>>2]|0)+(d<<2)>>2])+u);o[s+(d<<2)>>2]=u;d=d+1|0}while((d|0)<(m|0));Ii((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+f|0,s|0,p|0)|0;e=e+1|0;if(e>>>0>=b>>>0){a=9;break}else f=f+p|0}if((a|0)==5)gm(n);else if((a|0)==9){an(s);r=t;return 1}return 0}function qf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+16|0;i=m+4|0;j=m;l=a+8|0;h=a+100|0;b=k[l>>2]|0;b=(k[b+28>>2]|0)-(k[b+24>>2]|0)>>2;k[i>>2]=0;c=a+104|0;f=k[c>>2]|0;e=k[h>>2]|0;d=f-e>>2;if(b>>>0<=d>>>0){if(b>>>0>>0?(g=e+(b<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else Ag(h,b-d|0,i);d=a+120|0;a=k[d>>2]|0;if(!a){h=k[l>>2]|0;h=(k[h+4>>2]|0)-(k[h>>2]|0)|0;b=(h|0)/12|0;if((h|0)<=0){r=m;return 1}a=0;do{k[j>>2]=a*3;k[i>>2]=k[j>>2];Qb(l,i);a=a+1|0}while((a|0)<(b|0));r=m;return 1}else{c=k[a>>2]|0;if((k[a+4>>2]|0)==(c|0)){r=m;return 1}b=0;a=c;do{k[j>>2]=k[a+(b<<2)>>2];k[i>>2]=k[j>>2];Qb(l,i);b=b+1|0;h=k[d>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);r=m;return 1}return 0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;e=k[a>>2]|0;d=(c-e>>5)+1|0;if(d>>>0>134217727)hm(a);l=e;h=c;m=a+8|0;j=(k[m>>2]|0)-e|0;f=j>>4;f=j>>5>>>0<67108863?(f>>>0>>0?d:f):134217727;e=c-e>>5;do if(f)if(f>>>0>134217727){n=Ma(4)|0;Om(n);xa(n|0,1024,93)}else{g=xk(f<<5)|0;break}else g=0;while(0);i=g+(e<<5)|0;d=i;j=g+(f<<5)|0;k[i>>2]=k[b>>2];k[g+(e<<5)+4>>2]=k[b+4>>2];k[g+(e<<5)+8>>2]=k[b+8>>2];k[g+(e<<5)+12>>2]=k[b+12>>2];f=g+(e<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=i+32|0;if((h|0)!=(l|0)){e=h;c=i;do{h=e;e=e+-32|0;k[c+-32>>2]=k[e>>2];k[c+-28>>2]=k[h+-28>>2];k[c+-24>>2]=k[h+-24>>2];k[c+-20>>2]=k[h+-20>>2];i=c+-16|0;h=h+-16|0;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];c=d+-32|0;d=c}while((e|0)!=(l|0));c=k[a>>2]|0}k[a>>2]=d;k[n>>2]=f;k[m>>2]=j;if(!c)return;cn(c);return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){cn(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)hm(h);else{f=((c+-1|0)>>>5)+1|0;g=xk(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);Wj(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){cn(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)hm(g);else{l=((c+-1|0)>>>5)+1|0;m=xk(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);Wj(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=c;e=b;g=l-e|0;j=g>>2;h=a+8|0;d=k[h>>2]|0;f=k[a>>2]|0;m=f;if(j>>>0>d-f>>2>>>0){e=f;if(f){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(m|0))k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2);cn(e);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(j>>>0>1073741823)hm(a);m=d-0|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;if(d>>>0>1073741823)hm(a);c=xk(d<<2)|0;e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[h>>2]=c+(d<<2);if((g|0)<=0)return;Ii(c|0,b|0,g|0)|0;k[e>>2]=c+(j<<2);return}i=a+4|0;h=k[i>>2]|0;a=h-f>>2;g=j>>>0>a>>>0;a=g?b+(a<<2)|0:c;f=h;if((a|0)==(b|0))d=m;else{e=a+-4-e|0;d=b;c=m;while(1){k[c>>2]=k[d>>2];d=d+4|0;if((d|0)==(a|0))break;else c=c+4|0}d=m+((e>>>2)+1<<2)|0}if(g){d=l-a|0;if((d|0)<=0)return;Ii(h|0,a|0,d|0)|0;k[i>>2]=(k[i>>2]|0)+(d>>2<<2);return}else{if((f|0)==(d|0))return;k[i>>2]=f+(~((f+-4-d|0)>>>2)<<2);return}}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;n=q+40|0;m=q+32|0;i=q+8|0;j=q;l=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;o=k[d>>2]|0;d=k[d+4>>2]|0;g=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=e-o<<3;k[f>>2]=s-d+g+h;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=i;k[s>>2]=o;k[s+4>>2]=d;s=j;k[s>>2]=e;k[s+4>>2]=g;k[l>>2]=b;k[l+4>>2]=c;k[m>>2]=k[i>>2];k[m+4>>2]=k[i+4>>2];k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];ke(p,m,n,l);r=q;return}c=g-d+h|0;g=o;if((c|0)>0){if(!d){d=0;b=o}else{b=32-d|0;s=(c|0)<(b|0)?c:b;b=-1>>>(b-s|0)&-1<>2]=k[f>>2]&~b|k[g>>2]&b;b=s+d|0;g=g+4|0;c=c-s|0;d=b&31;f=f+(b>>>5<<2)|0;b=g}e=c>>>5;Wj(f|0,b|0,e<<2|0)|0;a=c-(e<<5)|0;c=f+(e<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(e<<2)>>2]&d;d=a}}k[p>>2]=b;k[p+4>>2]=d;r=q;return}function vf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;g=b+16|0;h=g;c=k[h>>2]|0;h=sl(c|0,k[h+4>>2]|0,4,0)|0;i=M;if((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=g;k[c>>2]=h;k[c+4>>2]=i;e=al(d|0,e|0,h|0,i|0)|0;d=M;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+h|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=sl(h|0,i|0,f|0,0)|0;i=g;k[i>>2]=h;k[i+4>>2]=M;i=1;return i|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+8|0;p=a+4|0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ka(14270,14289,80,14321)}while(0);b=k[o>>2]|0;c=k[p>>2]|0;if((b-c|0)>0)h=0;else return;do{d=k[c+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(n>>>0<=e>>>0){if(n>>>0>>0?(q=f+(n<<2)|0,(g|0)!=(q|0)):0)k[d>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Ag(a,n-e|0,3188);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=k[b>>2]|0;f=k[a>>2]|0;h=f+(e>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(e&31);h=k[a+64>>2]|0;d=(e|0)<0;b=e+1|0;if(!d?(c=((b|0)%3|0|0)==0?e+-2|0:b,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d)return;c=k[(k[h+12>>2]|0)+(e<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){o=0;return o|0}o=a+36|0;k[c+4>>2]=o;if(!(Va[k[(k[c>>2]|0)+12>>2]&127](c)|0)){o=0;return o|0}m=a+4|0;n=a+8|0;c=k[n>>2]|0;d=k[m>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;c=d;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[c+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(Za[k[(k[e>>2]|0)+8>>2]&127](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}d=k[n>>2]|0;c=k[m>>2]|0;if((f|0)>=(d-c>>2|0)){i=c;j=d;break a}}if((c|0)==9)Ka(13387,13403,62,13431);else if((c|0)==11)Ka(13441,13403,63,13431);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){o=1;return o|0}d=a+24|0;c=0;while(1){l=k[(k[d>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Ra[k[(k[l>>2]|0)+16>>2]&31](l,o,b)|0)){l=0;c=15;break}if((c|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;i=j[b>>1]|0;l=j[b+2>>1]|0;h=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((i&65535^318)+239^l&65535)+239^h&65535)+239^g&65535;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0} +function Ab(a){a=a|0;var b=0,c=0,d=0,e=Pa,f=Pa,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=Pa;S=r;r=r+64|0;R=S+28|0;O=S+16|0;J=S+4|0;K=S;Q=a;L=a+64|0;b=k[L>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;M=R+20|0;o[M>>2]=da(1.0);k[R+24>>2]=Q;Bg(R,b);b=k[L>>2]|0;k[O>>2]=0;Q=O+4|0;k[Q>>2]=0;k[O+8>>2]=0;do if(b|0)if(b>>>0>1073741823)hm(O);else{E=b<<2;D=xk(E)|0;k[O>>2]=D;P=D+(b<<2)|0;k[O+8>>2]=P;Vi(D|0,0,E|0)|0;k[Q>>2]=P;break}while(0);k[J>>2]=0;P=J+4|0;k[P>>2]=0;k[J+8>>2]=0;k[K>>2]=0;a:do if((b|0)>0){z=R+16|0;B=R+4|0;C=R+12|0;D=R+8|0;E=J+8|0;A=R+24|0;b=0;y=0;b:while(1){v=k[z>>2]|0;j=k[v+4>>2]|0;v=(k[v+8>>2]|0)-j|0;u=(v|0)>0;if(u){h=j;l=v>>2;g=0;c=0;do{d=k[h+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(y<<2)>>2]|0;else d=y;c=d<<2^c<<1;g=g+1|0}while((g|0)<(l|0))}else c=0;w=k[B>>2]|0;x=(w|0)==0;c:do if(!x){p=w+-1|0;d=(p&w|0)==0;if(d)t=p&c;else t=(c>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(t<<2)>>2]|0;if((c|0)!=0?(G=k[c>>2]|0,(G|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;d:do if(d){c=G;while(1){if((k[c+4>>2]&p|0)!=(t|0)){N=41;break c}n=k[c+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0)break d;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){N=35;break b}d=k[g+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){N=39;break d}}c=k[c>>2]|0;if(!c){N=41;break c}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(t|0)){N=41;break c}n=k[c+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0)break d;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){N=35;break b}d=k[g+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){N=39;break d}}c=k[c>>2]|0;if(!c){N=41;break c}}}while(0);if((N|0)==39){N=0;if(!c){N=41;break}}k[(k[O>>2]|0)+(y<<2)>>2]=k[c+12>>2]}else N=41}else N=41;while(0);do if((N|0)==41){N=0;if(u){h=v>>2;g=0;c=0;do{d=k[j+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(y<<2)>>2]|0;else d=y;c=d<<2^c<<1;g=g+1|0}while((g|0)<(h|0));t=c}else t=0;e:do if(!x){p=w+-1|0;g=(p&w|0)==0;if(g)c=p&t;else c=(t>>>0)%(w>>>0)|0;d=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((d|0)!=0?(H=k[d>>2]|0,(H|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;if(g){m=H;while(1){if((k[m+4>>2]&p|0)!=(c|0)){N=72;break e}n=k[m+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0){c=y;break e}l=d>>2;j=0;while(1){if((l|0)<=(j|0)){N=68;break b}d=k[g+(j<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}j=j+1|0;if((h|0)!=(d|0))break;if((j|0)>=(l|0)){c=y;break e}}m=k[m>>2]|0;if(!m){N=72;break}}}else{m=H;while(1){if((((k[m+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(c|0)){N=72;break e}n=k[m+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0){c=y;break e}l=d>>2;j=0;while(1){if((l|0)<=(j|0)){N=68;break b}d=k[g+(j<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}j=j+1|0;if((h|0)!=(d|0))break;if((j|0)>=(l|0)){c=y;break e}}m=k[m>>2]|0;if(!m){N=72;break}}}}else N=72}else{c=0;N=72}while(0);if((N|0)==72){N=0;h=xk(16)|0;k[h+8>>2]=y;k[h+12>>2]=b;k[h+4>>2]=t;k[h>>2]=0;e=da(((k[C>>2]|0)+1|0)>>>0);T=da(w>>>0);f=da(o[M>>2]);do if(x|e>da(T*f)){c=(w>>>0>2&(w+-1&w|0)==0&1|w<<1)^1;d=~~da(_(da(e/f)))>>>0;Bg(R,c>>>0>>0?d:c);c=k[B>>2]|0;d=c+-1|0;if(!(d&c)){g=c;c=d&t;break}else{g=c;c=(t>>>0)%(c>>>0)|0;break}}else g=w;while(0);c=(k[R>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[h>>2]=k[D>>2];k[D>>2]=h;k[c>>2]=D;c=k[h>>2]|0;if(c|0){c=k[c+4>>2]|0;d=g+-1|0;if(!(d&g))c=c&d;else c=(c>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(c<<2)>>2]=h}}else{k[h>>2]=k[d>>2];k[d>>2]=h}k[C>>2]=(k[C>>2]|0)+1;c=k[K>>2]|0}d=b+1|0;k[(k[O>>2]|0)+(c<<2)>>2]=b;b=k[P>>2]|0;if((b|0)==(k[E>>2]|0)){xh(J,K);b=d;break}else{k[b>>2]=k[K>>2];k[P>>2]=b+4;b=d;break}}while(0);y=(k[K>>2]|0)+1|0;k[K>>2]=y;c=k[L>>2]|0;if((y|0)>=(c|0)){F=b;I=c;break a}}if((N|0)==35)Ka(13441,13403,63,13431);else if((N|0)==68)Ka(13441,13403,63,13431)}else{F=0;I=0}while(0);if((F|0)!=(I|0)){Wa[k[(k[a>>2]|0)+20>>2]&7](a,O,J);k[L>>2]=F}b=k[J>>2]|0;c=b;if(b|0){d=k[P>>2]|0;if((d|0)!=(b|0))k[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(b)}b=k[O>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;cn(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}cn(b);r=S;return}function Bb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;rc(aa);g=k[X>>2]|0;n=k[W>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){fg(aa);r=ba;return}L=a+552|0;M=a+548|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+592|0;S=a+588|0;e=n;a:while(1){I=k[Y>>2]|0;H=g+-1|0;h=H+I|0;J=k[X>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[U>>2]=k[F>>2];k[U+4>>2]=k[F+4>>2];k[U+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[Z>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[c>>2]=i;k[_>>2]=b;k[V>>2]=j;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=Lh(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))xg(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=$+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=$+(s<<2)|0;q=c+(s<<2)|0;s=$+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=$+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))xg(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=52;break}e=k[W>>2]|0}if((g|0)==15)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==52){fg(aa);r=ba;return}}function Cb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;rc(aa);g=k[X>>2]|0;n=k[W>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){fg(aa);r=ba;return}L=a+552|0;M=a+548|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+592|0;S=a+588|0;e=n;a:while(1){I=k[Y>>2]|0;H=g+-1|0;h=H+I|0;J=k[X>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[U>>2]=k[F>>2];k[U+4>>2]=k[F+4>>2];k[U+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[Z>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[c>>2]=i;k[_>>2]=b;k[V>>2]=j;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=Jk(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))xg(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=$+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=$+(s<<2)|0;q=c+(s<<2)|0;s=$+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=$+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))xg(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=52;break}e=k[W>>2]|0}if((g|0)==15)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==52){fg(aa);r=ba;return}}function Db(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;rc(aa);g=k[X>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((k[W>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){fg(aa);r=ba;return}L=a+816|0;M=a+812|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+856|0;S=a+852|0;a:while(1){i=k[X>>2]|0;J=k[Y>>2]|0;I=k[i+(J>>>7<<2)>>2]|0;h=J&127;K=k[I+(h<<5)>>2]|0;b=k[I+(h<<5)+4>>2]|0;j=k[I+(h<<5)+8>>2]|0;e=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[U>>2]=k[H>>2];k[U+4>>2]=k[H+4>>2];k[U+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[Z>>2]=g+-1;J=J+1|0;k[Y>>2]=J;if(J>>>0>255){cn(k[i>>2]|0);k[X>>2]=(k[X>>2]|0)+4;k[Y>>2]=(k[Y>>2]|0)+-128}k[c>>2]=b;k[_>>2]=j;k[V>>2]=e;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=Kh(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))xg(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}u=(o|0)==2?0:o+1|0;p=(u|0)==2?0:u+1|0;I=g-(k[d+(u<<2)>>2]|0)|0;C=g-(k[d+(p<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;z=c+(o<<2)|0;A=(I|0)==0;e=$+(u<<2)|0;m=c+(u<<2)|0;n=(C|0)==0;l=$+(p<<2)|0;o=c+(p<<2)|0;p=$+(p<<2)|0;q=(C|0)<33;s=(C|0)>0;t=32-C|0;u=$+(u<<2)|0;v=(I|0)<33;w=(I|0)>0;x=32-I|0;y=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>y;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[z>>2];do if(!A){if(!v){g=21;break a}if(!w){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[u>>2]=g;h=u;break}g=h>>>x;k[u>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=u}else h=u}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[m>>2];do if(!n){if(!q){g=21;break a}if(!s){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[p>>2]=g;h=p;break}g=h>>>t;k[p>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=p}else h=p}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[o>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))xg(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=51;break}}if((g|0)==15)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==51){fg(aa);r=ba;return}}function Eb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0;ea=r;r=r+96|0;ba=ea+72|0;i=ea+16|0;da=ea+48|0;V=ea+32|0;$=ea+28|0;U=ea;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];m=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;W=c+8|0;l=k[W>>2]|0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[da+12>>2]=0;k[da+16>>2]=0;k[da+20>>2]=0;X=da+8|0;Y=da+4|0;Z=da+16|0;_=da+20|0;rc(da);g=k[Y>>2]|0;n=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=j;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[i>>2];k[T+4>>2]=k[i+4>>2];k[T+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){fg(da);r=ea;return}L=a+40|0;M=a+36|0;N=ba+4|0;O=ba+8|0;P=ba+4|0;Q=ba+8|0;R=a+8|0;S=a+80|0;T=a+76|0;l=n;a:while(1){I=k[Z>>2]|0;H=g+-1|0;h=H+I|0;J=k[Y>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[V>>2]=k[F>>2];k[V+4>>2]=k[F+4>>2];k[V+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[_>>2]=H;J=l-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){cn(k[l+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=i;k[aa>>2]=b;k[W>>2]=j;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[ba>>2]=k[V>>2];k[ba+4>>2]=k[V+4>>2];k[ba+8>>2]=k[V+8>>2];o=Jk(a,K,c,ba,h)|0;j=d+(o<<2)|0;l=k[j>>2]|0;g=k[a>>2]|0;J=g-l|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))xg(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[W>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[ba>>2]=k[c>>2];k[P>>2]=k[aa>>2];k[Q>>2]=k[W>>2];b=ba+(o<<2)|0;k[b>>2]=(k[b>>2]|0)+(1<>2]=0;Qh(R,b,$);b=(K>>>1)-(k[$>>2]|0)|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[S>>2]|0;g=k[T>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[S>>2]=K;if((K|0)==32){k[T>>2]=g+4;k[S>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=l+1;if(m|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];j=k[c>>2]|0;l=k[aa>>2]|0;e=k[W>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0;K=b-i|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(da);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=e;K=g+16|0;k[K>>2]=k[U>>2];k[K+4>>2]=k[U+4>>2];k[K+8>>2]=k[U+8>>2];k[g+28>>2]=o;k[_>>2]=(k[_>>2]|0)+1}if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];j=k[ba>>2]|0;l=k[P>>2]|0;e=k[Q>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0;K=b-i|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(da);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=e;K=g+16|0;k[K>>2]=k[U>>2];k[K+4>>2]=k[U+4>>2];k[K+8>>2]=k[U+8>>2];k[g+28>>2]=o;k[_>>2]=(k[_>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=ba+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;l=ba+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;e=ba+(s<<2)|0;q=c+(s<<2)|0;s=ba+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=ba+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{fa=J-g|0;k[L>>2]=fa;i=b+4|0;k[M>>2]=i;b=32-fa|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=I-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;fa=i+I|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=C-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;fa=i+C|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))xg(B,ba);else{k[g>>2]=k[ba>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=50;break}l=k[X>>2]|0}if((g|0)==15)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==50){fg(da);r=ea;return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=r;r=r+912|0;h=z+908|0;s=z;t=z+904|0;u=z+900|0;v=z+896|0;w=z+892|0;x=z+888|0;y=z+884|0;j=z+880|0;m=z+876|0;n=z+872|0;o=z+868|0;p=z+864|0;g=b+8|0;B=g;e=k[B>>2]|0;B=k[B+4>>2]|0;q=b+16|0;f=q;d=k[f>>2]|0;f=sl(d|0,k[f+4>>2]|0,4,0)|0;A=M;if((B|0)<(A|0)|(B|0)==(A|0)&e>>>0>>0){B=0;r=z;return B|0}B=(k[b>>2]|0)+d|0;B=l[B>>0]|l[B+1>>0]<<8|l[B+2>>0]<<16|l[B+3>>0]<<24;i[a>>0]=B;i[a+1>>0]=B>>8;i[a+2>>0]=B>>16;i[a+3>>0]=B>>24;B=q;f=k[B>>2]|0;B=k[B+4>>2]|0;d=sl(f|0,B|0,4,0)|0;e=q;k[e>>2]=d;k[e+4>>2]=M;e=g;A=k[e>>2]|0;e=k[e+4>>2]|0;B=sl(f|0,B|0,8,0)|0;f=M;if((e|0)<(f|0)|(e|0)==(f|0)&A>>>0>>0){B=0;r=z;return B|0}B=a+4|0;e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[B>>0]=e;i[B+1>>0]=e>>8;i[B+2>>0]=e>>16;i[B+3>>0]=e>>24;B=q;e=k[B>>2]|0;B=k[B+4>>2]|0;d=sl(e|0,B|0,4,0)|0;f=q;k[f>>2]=d;k[f+4>>2]=M;f=a+12|0;C=g;A=k[C>>2]|0;C=k[C+4>>2]|0;B=sl(e|0,B|0,8,0)|0;e=M;if((C|0)<(e|0)|(C|0)==(e|0)&A>>>0>>0){C=0;r=z;return C|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[f>>0]=e;i[f+1>>0]=e>>8;i[f+2>>0]=e>>16;i[f+3>>0]=e>>24;C=q;A=k[C>>2]|0;C=k[C+4>>2]|0;d=sl(A|0,C|0,4,0)|0;B=q;k[B>>2]=d;k[B+4>>2]=M;B=k[g>>2]|0;g=k[g+4>>2]|0;C=sl(A|0,C|0,8,0)|0;A=M;if((g|0)<(A|0)|(g|0)==(A|0)&B>>>0>>0){C=0;r=z;return C|0}B=a+16|0;d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[B>>0]=d;i[B+1>>0]=d>>8;i[B+2>>0]=d>>16;i[B+3>>0]=d>>24;B=q;B=sl(k[B>>2]|0,k[B+4>>2]|0,4,0)|0;C=q;k[C>>2]=B;k[C+4>>2]=M;a:do if(e|0)do switch(d|0){case 0:{sh(c,e);jk(s);k[t>>2]=c;k[h>>2]=k[t>>2];me(s,b,h)|0;ej(s+68|0);ej(s+48|0);ej(s+28|0);ej(s+8|0);break a}case 1:{sh(c,e);jk(s);k[u>>2]=c;k[h>>2]=k[u>>2];me(s,b,h)|0;ej(s+68|0);ej(s+48|0);ej(s+28|0);ej(s+8|0);break a}case 2:{sh(c,e);kk(s);k[v>>2]=c;k[h>>2]=k[v>>2];ne(s,b,h)|0;ej(s+64|0);ej(s+44|0);ej(s+24|0);fn(s+8|0);break a}case 3:{sh(c,e);kk(s);k[w>>2]=c;k[h>>2]=k[w>>2];ne(s,b,h)|0;ej(s+64|0);ej(s+44|0);ej(s+24|0);fn(s+8|0);break a}case 4:{sh(c,e);Xj(s);k[x>>2]=c;k[h>>2]=k[x>>2];$d(s,b,h)|0;ej(s+576|0);ej(s+556|0);ej(s+536|0);fn(s+520|0);Eh(s+8|0);break a}case 5:{sh(c,e);Xj(s);k[y>>2]=c;k[h>>2]=k[y>>2];$d(s,b,h)|0;ej(s+576|0);ej(s+556|0);ej(s+536|0);fn(s+520|0);Eh(s+8|0);break a}case 6:{sh(c,e);Xj(s);k[j>>2]=c;k[h>>2]=k[j>>2];_d(s,b,h)|0;ej(s+576|0);ej(s+556|0);ej(s+536|0);fn(s+520|0);Eh(s+8|0);break a}case 7:{sh(c,e);Xj(s);k[m>>2]=c;k[h>>2]=k[m>>2];_d(s,b,h)|0;ej(s+576|0);ej(s+556|0);ej(s+536|0);fn(s+520|0);Eh(s+8|0);break a}case 8:{sh(c,e);Qj(s);k[n>>2]=c;k[h>>2]=k[n>>2];Yd(s,b,h)|0;ej(s+840|0);ej(s+820|0);ej(s+800|0);Fm(s+776|0);bg(s+8|0);break a}case 9:{sh(c,e);Qj(s);k[o>>2]=c;k[h>>2]=k[o>>2];Yd(s,b,h)|0;ej(s+840|0);ej(s+820|0);ej(s+800|0);Fm(s+776|0);bg(s+8|0);break a}default:{sh(c,e);Qj(s);k[p>>2]=c;k[h>>2]=k[p>>2];Xd(s,b,h)|0;ej(s+840|0);ej(s+820|0);ej(s+800|0);Fm(s+776|0);bg(s+8|0);break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[f>>2]|0)){C=1;r=z;return C|0}else Ka(13673,13716,117,13780);return 0}function Gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[4622]|0;if(c>>>0>>0)Ba();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)Ba();d=a&-8;n=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)Ba();if((j|0)==(k[4623]|0)){a=n+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;e=i;break}k[4620]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=18512+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)Ba();if((k[b+12>>2]|0)!=(j|0))Ba()}if((c|0)==(b|0)){k[4618]=k[4618]&~(1<>>0>>0)Ba();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else Ba()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;q=j;e=i;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)Ba();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)Ba();a=d+12|0;if((k[a>>2]|0)!=(j|0))Ba();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else Ba()}while(0);if(f){a=k[j+28>>2]|0;b=18776+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[4619]=k[4619]&~(1<>>0<(k[4622]|0)>>>0)Ba();a=f+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[f+20>>2]=h;if(!h){q=j;e=i;break}}c=k[4622]|0;if(h>>>0>>0)Ba();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Ba();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[4622]|0)>>>0)Ba();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;e=i;break}else{q=j;e=i}}else{q=j;e=i}}else{q=c;e=d}while(0);if(q>>>0>=n>>>0)Ba();a=n+4|0;b=k[a>>2]|0;if(!(b&1))Ba();if(!(b&2)){if((n|0)==(k[4624]|0)){p=(k[4621]|0)+e|0;k[4621]=p;k[4624]=q;k[q+4>>2]=p|1;if((q|0)!=(k[4623]|0))return;k[4623]=0;k[4620]=0;return}if((n|0)==(k[4623]|0)){p=(k[4620]|0)+e|0;k[4620]=p;k[4623]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}e=(b&-8)+e|0;d=b>>>3;do if(b>>>0>=256){f=k[n+24>>2]|0;a=k[n+12>>2]|0;do if((a|0)==(n|0)){c=n+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){m=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[4622]|0)>>>0)Ba();else{k[b>>2]=0;m=a;break}}else{b=k[n+8>>2]|0;if(b>>>0<(k[4622]|0)>>>0)Ba();c=b+12|0;if((k[c>>2]|0)!=(n|0))Ba();d=a+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=a;k[d>>2]=b;m=a;break}else Ba()}while(0);if(f|0){a=k[n+28>>2]|0;b=18776+(a<<2)|0;if((n|0)==(k[b>>2]|0)){k[b>>2]=m;if(!m){k[4619]=k[4619]&~(1<>>0<(k[4622]|0)>>>0)Ba();a=f+16|0;if((k[a>>2]|0)==(n|0))k[a>>2]=m;else k[f+20>>2]=m;if(!m)break}c=k[4622]|0;if(m>>>0>>0)Ba();k[m+24>>2]=f;a=n+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)Ba();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[4622]|0)>>>0)Ba();else{k[m+20>>2]=a;k[a+24>>2]=m;break}}}else{b=k[n+8>>2]|0;c=k[n+12>>2]|0;a=18512+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[4622]|0)>>>0)Ba();if((k[b+12>>2]|0)!=(n|0))Ba()}if((c|0)==(b|0)){k[4618]=k[4618]&~(1<>>0<(k[4622]|0)>>>0)Ba();a=c+8|0;if((k[a>>2]|0)==(n|0))l=a;else Ba()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=e|1;k[q+e>>2]=e;if((q|0)==(k[4623]|0)){k[4620]=e;return}}else{k[a>>2]=b&-2;k[q+4>>2]=e|1;k[q+e>>2]=e}a=e>>>3;if(e>>>0<256){c=18512+(a<<1<<2)|0;b=k[4618]|0;a=1<>2]|0;if(b>>>0<(k[4622]|0)>>>0)Ba();else{o=b;p=a}}else{k[4618]=b|a;o=c;p=c+8|0}k[p>>2]=q;k[o+12>>2]=q;k[q+8>>2]=o;k[q+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;a=14-(n|o|a)+(p<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=18776+(a<<2)|0;k[q+28>>2]=a;k[q+20>>2]=0;k[q+16>>2]=0;b=k[4619]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=130;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=127;break}else{b=b<<1;d=a}}if((a|0)==127)if(c>>>0<(k[4622]|0)>>>0)Ba();else{k[c>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((a|0)==130){a=d+8|0;b=k[a>>2]|0;p=k[4622]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=d;k[q+24>>2]=0;break}else Ba()}}else{k[4619]=b|c;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[4626]|0)+-1|0;k[4626]=q;if(!q)a=18928;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[4626]=-1;return}function Hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;L=a+8|0;k[L>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;F=1-g+f|0;k[a+20>>2]=F;f=(F|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(F&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;E=$m(u)|0;Vi(E|0,0,u|0)|0;F=$m(u)|0;Vi(F|0,0,u|0)|0;u=a+56|0;i=k[u>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=f>>2;f=i;while(1){r=q+-1|0;if(h-g>>2>>>0<=r>>>0)break;p=k[g+(r<<2)>>2]|0;if(v)Vi(E|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;m=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>=0){i=k[s>>2]|0;h=(g>>>0)%3|0;l=k[t>>2]|0;d=k[l+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[l+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((d|0)<(r|0)&(j|0)<(r|0)&(f|0)<(r|0)){i=$(d,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(v){f=0;do{k[F+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(v){f=0;do{d=E+(f<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[F+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=m+1|0}else g=m}else g=m;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else m=g}d=$(r,e)|0;if(g){if(v){f=0;do{p=E+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[L>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[z>>2]|0)){if((h|0)>(k[B>>2]|0))k[g>>2]=h-(k[A>>2]|0)}else k[g>>2]=(k[A>>2]|0)+h;f=f+1|0}while((f|0)<(k[L>>2]|0))}}}}else{H=d;J=46}}else{H=$(r,e)|0;J=46}if((J|0)==46?(J=0,G=b+(H<<2)|0,I=b+(($(q+-2|0,e)|0)<<2)|0,(k[L>>2]|0)>0):0){j=0;do{i=k[I+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+H<<2)>>2]=(k[G+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+H<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[z>>2]|0)){if((h|0)>(k[B>>2]|0))k[g>>2]=h-(k[A>>2]|0)}else k[g>>2]=(k[A>>2]|0)+h;f=f+1|0}while((f|0)<(k[L>>2]|0))}}}if((r|0)<=1){K=E;break a}f=k[u>>2]|0;q=r;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else K=E;while(0);if((e|0)>0)Vi(E|0,0,e<<2|0)|0;if((k[L>>2]|0)<=0){an(F);an(E);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[K+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[L>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{an(F);an(E);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[L>>2]|0}while((f|0)<(g|0));if((g|0)<=0){an(F);an(E);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[L>>2]|0));an(F);an(E);return 1}function Ib(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+8|0;k[N>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;D=1-g+f|0;k[a+20>>2]=D;f=(D|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(D&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;C=$m(r)|0;Vi(C|0,0,r|0)|0;D=$m(r)|0;Vi(D|0,0,r|0)|0;r=a+56|0;i=k[r>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=f>>2;f=i;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0)break;m=k[g+(o<<2)>>2]|0;if(s)Vi(C|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;j=0;l=m;do{if(((k[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(E=k[(k[(k[z>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(E|0)>=0):0)?(H=k[A>>2]|0,i=k[q>>2]|0,F=k[i+(k[H+(E<<2)>>2]<<2)>>2]|0,G=E+1|0,G=k[i+(k[H+((((G|0)%3|0|0)==0?E+-2|0:G)<<2)>>2]<<2)>>2]|0,H=k[i+(k[H+((((E>>>0)%3|0|0)==0?2:-1)+E<<2)>>2]<<2)>>2]|0,(F|0)<(o|0)&(G|0)<(o|0)&(H|0)<(o|0)):0){g=$(F,e)|0;h=$(G,e)|0;i=$(H,e)|0;if(s){f=0;do{k[D+(f<<2)>>2]=(k[b+(f+i<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(s){f=0;do{i=C+(f<<2)|0;k[i>>2]=(k[i>>2]|0)+(k[D+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}j=j+1|0}f=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(k[d+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f}while((l|0)>-1);d=$(o,e)|0;if(j){if(s){f=0;do{m=C+(f<<2)|0;k[m>>2]=(k[m>>2]|0)/(j|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[N>>2]|0)>0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[N>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[N>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[w>>2]|0)){if((h|0)>(k[y>>2]|0))k[g>>2]=h-(k[x>>2]|0)}else k[g>>2]=(k[x>>2]|0)+h;f=f+1|0}while((f|0)<(k[N>>2]|0))}}}}else{J=d;L=44}}else{J=$(o,e)|0;L=44}if((L|0)==44?(L=0,I=b+(J<<2)|0,K=b+(($(n+-2|0,e)|0)<<2)|0,(k[N>>2]|0)>0):0){j=0;do{i=k[K+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[N>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+J<<2)>>2]=(k[I+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[N>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+J<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[w>>2]|0)){if((h|0)>(k[y>>2]|0))k[g>>2]=h-(k[x>>2]|0)}else k[g>>2]=(k[x>>2]|0)+h;f=f+1|0}while((f|0)<(k[N>>2]|0))}}}if((o|0)<=1){M=C;break a}f=k[r>>2]|0;n=o;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else M=C;while(0);if((e|0)>0)Vi(C|0,0,e<<2|0)|0;if((k[N>>2]|0)<=0){an(D);an(C);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[M+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[N>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{an(D);an(C);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[N>>2]|0}while((f|0)<(g|0));if((g|0)<=0){an(D);an(C);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[N>>2]|0));an(D);an(C);return 1}function Jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;L=r;r=r+64|0;K=L+16|0;G=L;D=a+8|0;k[D>>2]=e;d=K;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[G>>2]=0;if(!e){d=0;f=0}else{Ag(K,e,G);d=k[K+12>>2]|0;f=k[K+16>>2]|0}k[G>>2]=0;g=K+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[g>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Ag(K+12|0,e-h|0,G);d=K+24|0;k[G>>2]=0;f=K+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ag(d,e-g|0,G);d=K+36|0;k[G>>2]=0;f=K+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Ag(d,e-g|0,G);Sg(D,k[K>>2]|0,b,c,0);v=k[a+24>>2]|0;B=k[a+28>>2]|0;C=xk(16)|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;bj(G,e);z=a+32|0;g=k[z>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;A=h-f|0;y=A>>2;a:do if((A|0)>4){u=v+64|0;w=v+28|0;x=(e|0)>0;A=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0)break;p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;s=1<<(o&31);t=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=41;break b}i=k[K+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(F=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(F|0)>=0):0)?(J=k[w>>2]|0,m=k[B>>2]|0,H=k[m+(k[J+(F<<2)>>2]<<2)>>2]|0,I=F+1|0,I=k[m+(k[J+((((I|0)%3|0|0)==0?F+-2|0:I)<<2)>>2]<<2)>>2]|0,J=k[m+(k[J+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(H|0)<(d|0)&(I|0)<(d|0)&(J|0)<(d|0)):0){j=$(H,e)|0;l=$(I,e)|0;m=$(J,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=22;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=41;break b}}while(!(n&(g|0)<0));g=(s&k[h+(q<<2)>>2]|0)!=0;if(g|t){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[u>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==41)if((f|0)>0)o=22;else{f=$(d,e)|0;o=53}if((o|0)==22){o=0;if(x){Vi(k[G>>2]|0,0,A|0)|0;m=f+-1|0;l=C+(m<<2)|0;m=k[a+36+(m*12|0)>>2]|0;n=k[G>>2]|0;j=0;g=0;do{t=k[l>>2]|0;k[l>>2]=t+1;if(!(k[m+(t>>>5<<2)>>2]&1<<(t&31))){i=k[K+(j*12|0)>>2]|0;h=0;do{t=n+(h<<2)|0;k[t>>2]=(k[t>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=C+(j<<2)|0;j=k[a+36+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{t=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=53;else{i=k[G>>2]|0;if(x){h=0;do{t=i+(h<<2)|0;k[t>>2]=(k[t>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}Sg(D,i,b,c+(f<<2)|0,f)}}if((o|0)==53)Sg(D,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f);d=d+1|0;if((d|0)>=(y|0)){E=G;break a}g=k[z>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}gm(g)}else E=G;while(0);g=k[E>>2]|0;h=g;if(g|0){d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}cn(C);g=k[K+36>>2]|0;h=g;if(g|0){d=K+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[K+24>>2]|0;f=d;if(d|0){g=K+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[K+12>>2]|0;f=d;if(d|0){g=K+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[K>>2]|0;if(!g){r=L;return 1}d=K+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=L;return 1}function Kb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;u=x;v=a+20|0;s=k[v>>2]|0;e=s+8|0;g=k[e>>2]|0;e=k[e+4>>2]|0;h=s+16|0;n=h;m=k[n>>2]|0;n=k[n+4>>2]|0;c=sl(m|0,n|0,4,0)|0;b=M;if((e|0)<(b|0)|(e|0)==(b|0)&g>>>0>>0){w=0;r=x;return w|0}f=k[s>>2]|0;w=f+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;t=h;k[t>>2]=c;k[t+4>>2]=b;if((w|0)<0){w=0;r=x;return w|0}b=sl(m|0,n|0,8,0)|0;d=M;if((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0){w=0;r=x;return w|0}t=f+c|0;t=l[t>>0]|l[t+1>>0]<<8|l[t+2>>0]<<16|l[t+3>>0]<<24;q=h;k[q>>2]=b;k[q+4>>2]=d;if(!((e|0)>(d|0)|(e|0)==(d|0)&g>>>0>b>>>0)){w=0;r=x;return w|0}q=i[f+b>>0]|0;j=sl(m|0,n|0,9,0)|0;g=M;p=h;k[p>>2]=j;k[p+4>>2]=g;a:do if(!(q<<24>>24)){if(!(af(a,w)|0)){w=0;r=x;return w|0}}else{if((t|0)<256){if((w|0)<=0)break;n=a+28|0;o=u+4|0;p=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;b=s+8|0;c=k[b>>2]|0;b=k[b+4>>2]|0;b:do if((b|0)>(g|0)|(b|0)==(g|0)&c>>>0>j>>>0){m=0;f=s;h=g;g=b;e=c;do{d=f+16|0;c=k[f>>2]|0;q=i[c+j>>0]|0;b=sl(j|0,h|0,1,0)|0;s=M;f=d;k[f>>2]=b;k[f+4>>2]=s;k[u>>2]=q&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;q=i[c+b>>0]|0;b=sl(j|0,h|0,2,0)|0;s=M;f=d;k[f>>2]=b;k[f+4>>2]=s;k[o>>2]=q&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;c=i[c+b>>0]|0;s=sl(j|0,h|0,3,0)|0;b=d;k[b>>2]=s;k[b+4>>2]=M;k[p>>2]=c&255;c=k[n>>2]|0;b=c+84|0;d=k[b>>2]|0;if((d|0)==(k[c+88>>2]|0))dh(c+80|0,u);else{k[d>>2]=k[u>>2];k[d+4>>2]=k[u+4>>2];k[d+8>>2]=k[u+8>>2];k[b>>2]=(k[b>>2]|0)+12}m=m+1|0;if((m|0)>=(w|0))break a;f=k[v>>2]|0;h=f+16|0;j=k[h>>2]|0;h=k[h+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;g=f+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0}while((g|0)>(h|0)|(g|0)==(h|0)&e>>>0>j>>>0)}while(0);w=0;r=x;return w|0}b=(w|0)>0;if((t|0)<65536){if(!b)break;o=a+28|0;p=u+4|0;q=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;e=s+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=sl(m|0,n|0,11,0)|0;c=M;c:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=s;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[u>>2]=d&65535;d=sl(j|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;s=f;k[s>>2]=d;k[s+4>>2]=c;k[p>>2]=b&65535;b=sl(j|0,g|0,6,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))dh(d+80|0,u);else{k[b>>2]=k[u>>2];k[b+4>>2]=k[u+4>>2];k[b+8>>2]=k[u+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=sl(j|0,g|0,2,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;r=x;return w|0}else{if(!b)break;o=a+28|0;p=u+4|0;q=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;e=s+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=sl(m|0,n|0,13,0)|0;c=M;d:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=s;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[u>>2]=d;d=sl(j|0,g|0,8,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;s=f;k[s>>2]=d;k[s+4>>2]=c;k[p>>2]=b;b=sl(j|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))dh(d+80|0,u);else{k[b>>2]=k[u>>2];k[b+4>>2]=k[u+4>>2];k[b+8>>2]=k[u+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=sl(j|0,g|0,4,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;r=x;return w|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=t;w=1;r=x;return w|0}function Lb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;L=r;r=r+64|0;K=L+16|0;G=L;D=a+8|0;k[D>>2]=e;d=K;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[G>>2]=0;if(!e){d=0;f=0}else{Ag(K,e,G);d=k[K+12>>2]|0;f=k[K+16>>2]|0}k[G>>2]=0;g=K+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[g>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Ag(K+12|0,e-h|0,G);d=K+24|0;k[G>>2]=0;f=K+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ag(d,e-g|0,G);d=K+36|0;k[G>>2]=0;f=K+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Ag(d,e-g|0,G);Ug(D,k[K>>2]|0,b,c,0);v=k[a+24>>2]|0;B=k[a+28>>2]|0;C=xk(16)|0;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;bj(G,e);z=a+32|0;g=k[z>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;A=h-f|0;y=A>>2;a:do if((A|0)>4){u=v+64|0;w=v+28|0;x=(e|0)>0;A=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0)break;p=k[f+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;s=1<<(o&31);t=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=41;break b}i=k[K+(f*12|0)>>2]|0;if(((k[(k[v>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(F=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(F|0)>=0):0)?(J=k[w>>2]|0,m=k[B>>2]|0,H=k[m+(k[J+(F<<2)>>2]<<2)>>2]|0,I=F+1|0,I=k[m+(k[J+((((I|0)%3|0|0)==0?F+-2|0:I)<<2)>>2]<<2)>>2]|0,J=k[m+(k[J+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(H|0)<(d|0)&(I|0)<(d|0)&(J|0)<(d|0)):0){j=$(H,e)|0;l=$(I,e)|0;m=$(J,e)|0;if(x){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=22;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[v>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=41;break b}}while(!(n&(g|0)<0));g=(s&k[h+(q<<2)>>2]|0)!=0;if(g|t){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[u>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==41)if((f|0)>0)o=22;else{f=$(d,e)|0;o=53}if((o|0)==22){o=0;if(x){Vi(k[G>>2]|0,0,A|0)|0;m=f+-1|0;l=C+(m<<2)|0;m=k[a+36+(m*12|0)>>2]|0;n=k[G>>2]|0;j=0;g=0;do{t=k[l>>2]|0;k[l>>2]=t+1;if(!(k[m+(t>>>5<<2)>>2]&1<<(t&31))){i=k[K+(j*12|0)>>2]|0;h=0;do{t=n+(h<<2)|0;k[t>>2]=(k[t>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=C+(j<<2)|0;j=k[a+36+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{t=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=53;else{i=k[G>>2]|0;if(x){h=0;do{t=i+(h<<2)|0;k[t>>2]=(k[t>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}Ug(D,i,b,c+(f<<2)|0,f)}}if((o|0)==53)Ug(D,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f);d=d+1|0;if((d|0)>=(y|0)){E=G;break a}g=k[z>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}gm(g)}else E=G;while(0);g=k[E>>2]|0;h=g;if(g|0){d=G+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}cn(C);g=k[K+36>>2]|0;h=g;if(g|0){d=K+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[K+24>>2]|0;f=d;if(d|0){g=K+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[K+12>>2]|0;f=d;if(d|0){g=K+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[K>>2]|0;if(!g){r=L;return 1}d=K+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=L;return 1}function Mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+64|0;I=J+16|0;H=J;F=a+8|0;k[F>>2]=e;d=I;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[H>>2]=0;if(!e){d=0;f=0}else{Ag(I,e,H);d=k[I+12>>2]|0;f=k[I+16>>2]|0}k[H>>2]=0;g=I+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[g>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Ag(I+12|0,e-h|0,H);d=I+24|0;k[H>>2]=0;f=I+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ag(d,e-g|0,H);d=I+36|0;k[H>>2]=0;f=I+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Ag(d,e-g|0,H);Sg(F,k[I>>2]|0,b,c,0);A=k[a+24>>2]|0;D=k[a+28>>2]|0;E=xk(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;bj(H,e);z=a+32|0;g=k[z>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;y=C>>2;a:do if((C|0)>4){x=A+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0)break;v=k[f+(d<<2)>>2]|0;u=(((v>>>0)%3|0|0)==0?2:-1)+v|0;w=(v|u|0)<0;t=(v|0)<0?v:u;s=1;f=0;g=v;b:while(1){do{if((g|0)<=-1){o=42;break b}p=k[I+(f*12|0)>>2]|0;q=k[x>>2]|0;i=k[q+(g<<2)>>2]|0;if((i|0)>=0){l=k[A>>2]|0;j=(i>>>0)%3|0;m=k[D>>2]|0;o=k[m+(k[l+(((i>>>0)/3|0)*12|0)+(j<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;n=k[m+(h<<2)>>2]|0;h=((j|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;h=k[m+(h<<2)>>2]|0;if((o|0)<(d|0)&(n|0)<(d|0)&(h|0)<(d|0)){l=$(o,e)|0;j=$(n,e)|0;i=$(h,e)|0;if(B){h=0;do{k[p+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=25;break b}}}do if(s){p=g+1|0;g=((p|0)%3|0|0)==0?g+-2|0:p;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(v|0)){o=42;break b}}while(!(s&(g|0)<0));if(w){s=0;g=t;continue}g=k[q+(u<<2)>>2]|0;if((g|0)<0){s=0;continue}if(!((g>>>0)%3|0)){s=0;g=g+2|0;continue}else{s=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=25;else{f=$(d,e)|0;o=54}if((o|0)==25){o=0;if(B){Vi(k[H>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+36+(m*12|0)>>2]|0;n=k[H>>2]|0;j=0;g=0;do{w=k[l>>2]|0;k[l>>2]=w+1;if(!(k[m+(w>>>5<<2)>>2]&1<<(w&31))){i=k[I+(j*12|0)>>2]|0;h=0;do{w=n+(h<<2)|0;k[w>>2]=(k[w>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+36+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{w=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(w>>>5<<2)>>2]&1<<(w&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[H>>2]|0;if(B){h=0;do{w=i+(h<<2)|0;k[w>>2]=(k[w>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}Sg(F,i,b,c+(f<<2)|0,f)}}if((o|0)==54)Sg(F,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f);d=d+1|0;if((d|0)>=(y|0)){G=H;break a}g=k[z>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}gm(g)}else G=H;while(0);g=k[G>>2]|0;h=g;if(g|0){d=H+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}cn(E);g=k[I+36>>2]|0;h=g;if(g|0){d=I+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[I+24>>2]|0;f=d;if(d|0){g=I+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[I+12>>2]|0;f=d;if(d|0){g=I+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[I>>2]|0;if(!g){r=J;return 1}d=I+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=J;return 1}function Nb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+64|0;I=J+16|0;H=J;F=a+8|0;k[F>>2]=e;d=I;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[H>>2]=0;if(!e){d=0;f=0}else{Ag(I,e,H);d=k[I+12>>2]|0;f=k[I+16>>2]|0}k[H>>2]=0;g=I+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(i=d+(e<<2)|0,(f|0)!=(i|0)):0)k[g>>2]=f+(~((f+-4-i|0)>>>2)<<2)}else Ag(I+12|0,e-h|0,H);d=I+24|0;k[H>>2]=0;f=I+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else Ag(d,e-g|0,H);d=I+36|0;k[H>>2]=0;f=I+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(l=h+(e<<2)|0,(i|0)!=(l|0)):0)k[f>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else Ag(d,e-g|0,H);Ug(F,k[I>>2]|0,b,c,0);A=k[a+24>>2]|0;D=k[a+28>>2]|0;E=xk(16)|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;bj(H,e);z=a+32|0;g=k[z>>2]|0;h=k[g+4>>2]|0;f=k[g>>2]|0;C=h-f|0;y=C>>2;a:do if((C|0)>4){x=A+12|0;B=(e|0)>0;C=e<<2;d=1;while(1){if(h-f>>2>>>0<=d>>>0)break;v=k[f+(d<<2)>>2]|0;u=(((v>>>0)%3|0|0)==0?2:-1)+v|0;w=(v|u|0)<0;t=(v|0)<0?v:u;s=1;f=0;g=v;b:while(1){do{if((g|0)<=-1){o=42;break b}p=k[I+(f*12|0)>>2]|0;q=k[x>>2]|0;i=k[q+(g<<2)>>2]|0;if((i|0)>=0){l=k[A>>2]|0;j=(i>>>0)%3|0;m=k[D>>2]|0;o=k[m+(k[l+(((i>>>0)/3|0)*12|0)+(j<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;n=k[m+(h<<2)>>2]|0;h=((j|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;h=k[m+(h<<2)>>2]|0;if((o|0)<(d|0)&(n|0)<(d|0)&(h|0)<(d|0)){l=$(o,e)|0;j=$(n,e)|0;i=$(h,e)|0;if(B){h=0;do{k[p+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=25;break b}}}do if(s){p=g+1|0;g=((p|0)%3|0|0)==0?g+-2|0:p;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(v|0)){o=42;break b}}while(!(s&(g|0)<0));if(w){s=0;g=t;continue}g=k[q+(u<<2)>>2]|0;if((g|0)<0){s=0;continue}if(!((g>>>0)%3|0)){s=0;g=g+2|0;continue}else{s=0;g=g+-1|0;continue}}if((o|0)==42)if((f|0)>0)o=25;else{f=$(d,e)|0;o=54}if((o|0)==25){o=0;if(B){Vi(k[H>>2]|0,0,C|0)|0;m=f+-1|0;l=E+(m<<2)|0;m=k[a+36+(m*12|0)>>2]|0;n=k[H>>2]|0;j=0;g=0;do{w=k[l>>2]|0;k[l>>2]=w+1;if(!(k[m+(w>>>5<<2)>>2]&1<<(w&31))){i=k[I+(j*12|0)>>2]|0;h=0;do{w=n+(h<<2)|0;k[w>>2]=(k[w>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0))}else{j=f+-1|0;i=E+(j<<2)|0;j=k[a+36+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{w=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(w>>>5<<2)>>2]&1<<(w&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0))}f=$(d,e)|0;if(!g)o=54;else{i=k[H>>2]|0;if(B){h=0;do{w=i+(h<<2)|0;k[w>>2]=(k[w>>2]|0)/(g|0)|0;h=h+1|0}while((h|0)!=(e|0))}Ug(F,i,b,c+(f<<2)|0,f)}}if((o|0)==54)Ug(F,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f);d=d+1|0;if((d|0)>=(y|0)){G=H;break a}g=k[z>>2]|0;f=k[g>>2]|0;h=k[g+4>>2]|0}gm(g)}else G=H;while(0);g=k[G>>2]|0;h=g;if(g|0){d=H+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}cn(E);g=k[I+36>>2]|0;h=g;if(g|0){d=I+40|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[I+24>>2]|0;f=d;if(d|0){g=I+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[I+12>>2]|0;f=d;if(d|0){g=I+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[I>>2]|0;if(!g){r=J;return 1}d=I+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=J;return 1}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=Pa,p=Pa,q=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,N=0,O=0,P=Pa;O=r;r=r+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=da(1.0);K=a+80|0;bj(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+2|0;x=H+4|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;u=0;q=0;while(1){m=v+u|0;h=y;l=k[h>>2]|0;h=k[h+4>>2]|0;t=z;m=uk(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;h=sl(m|0,M|0,l|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[H>>0]=i[h>>0]|0;i[H+1>>0]=i[h+1>>0]|0;i[H+2>>0]=i[h+2>>0]|0;i[H+3>>0]=i[h+3>>0]|0;i[H+4>>0]=i[h+4>>0]|0;i[H+5>>0]=i[h+5>>0]|0;h=j[H>>1]|0;l=j[w>>1]|0;m=j[x>>1]|0;t=((h&65535^318)+239^l&65535)+239^m&65535;s=(q|0)==0;b:do if(!s){f=q+-1|0;c=(f&q|0)==0;if(c)g=t&f;else g=(t>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){e=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){e=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[L>>2]|0)+(u<<2)>>2]=k[c+16>>2];break b}else if((e|0)==22)if(s){c=0;e=39;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)c=g&t;else c=(t>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(f){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){e=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(c|0)){e=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{c=0;e=39}while(0);if((e|0)==39){g=xk(20)|0;j[g+8>>1]=h;j[g+10>>1]=l;j[g+12>>1]=m;k[g+16>>2]=d;k[g+4>>2]=t;k[g>>2]=0;n=da(((k[B>>2]|0)+1|0)>>>0);P=da(q>>>0);p=da(o[I>>2]);do if(s|n>da(P*p)){c=(q>>>0>2&(q+-1&q|0)==0&1|q<<1)^1;e=~~da(_(da(n/p)))>>>0;Hg(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&t;break}else{f=c;c=(t>>>0)%(c>>>0)|0;break}}else f=q;while(0);c=(k[N>>2]|0)+(c<<2)|0;e=k[c>>2]|0;if(!e){k[g>>2]=k[C>>2];k[C>>2]=g;k[c>>2]=C;c=k[g>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;k[(k[N>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[B>>2]=(k[B>>2]|0)+1;e=51}if((e|0)==51){s=D;t=k[s>>2]|0;s=uk(t|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Ii((k[k[E>>2]>>2]|0)+s|0,H|0,t|0)|0;k[(k[L>>2]|0)+(u<<2)>>2]=d;d=d+1|0}c=u+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){m=d;break a}u=c;q=k[A>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[l>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=m}e=k[L>>2]|0;f=e;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;cn(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){r=O;return m|0}cn(c);r=O;return m|0}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=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,N=0,O=Pa;N=r;r=r+48|0;L=N+12|0;G=N+32|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=da(1.0);J=a+80|0;bj(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;v=G+1|0;w=G+2|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;u=k[c>>2]|0;c=0;t=0;p=0;while(1){l=u+c|0;h=x;j=k[h>>2]|0;h=k[h+4>>2]|0;s=y;l=uk(k[s>>2]|0,k[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;h=sl(l|0,M|0,j|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[G>>0]=i[h>>0]|0;i[G+1>>0]=i[h+1>>0]|0;i[G+2>>0]=i[h+2>>0]|0;h=i[G>>0]|0;j=i[v>>0]|0;l=i[w>>0]|0;s=((h&255^318)+239^j&255)+239^l&255;q=(p|0)==0;b:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)g=s&f;else g=(s>>>0)%(p>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=22;break c}if(((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==l<<24>>24:0){e=21;break c}d=k[d>>2]|0;if(!d){e=22;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(g|0)){e=22;break c}if(((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==l<<24>>24:0){e=21;break c}d=k[d>>2]|0;if(!d){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=t;break b}else if((e|0)==22)if(q){d=0;e=39;break b}else break}while(0);g=p+-1|0;f=(g&p|0)==0;if(f)d=g&s;else d=(s>>>0)%(p>>>0)|0;e=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(F=k[e>>2]|0,(F|0)!=0):0)if(f){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){e=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{d=0;e=39}while(0);if((e|0)==39){g=xk(16)|0;i[g+8>>0]=h;i[g+9>>0]=j;i[g+10>>0]=l;k[g+12>>2]=t;k[g+4>>2]=s;k[g>>2]=0;m=da(((k[A>>2]|0)+1|0)>>>0);O=da(p>>>0);n=da(o[H>>2]);do if(q|m>da(O*n)){d=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;e=~~da(_(da(m/n)))>>>0;Og(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=p;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=51}if((e|0)==51){s=C;d=k[s>>2]|0;s=uk(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ii((k[k[D>>2]>>2]|0)+s|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=d;p=k[z>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=l}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;cn(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return l|0}cn(c);r=N;return l|0}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;v=y;u=y+36|0;h=y+32|0;i=y+28|0;j=y+24|0;l=y+20|0;m=y+16|0;n=y+12|0;w=y+8|0;x=y+4|0;if((k[a+96>>2]|0)==(k[a+92>>2]|0)){r=y;return}c=a+56|0;d=k[c>>2]|0;if((d|0)==(k[a+60>>2]|0)){xh(a+52|0,b);q=b}else{k[d>>2]=k[b>>2];k[c>>2]=d+4;q=b}s=a+88|0;k[s>>2]=0;d=k[a>>2]|0;c=k[q>>2]|0;b=c+1|0;if((c|0)>=0){b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[d>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0){f=b;g=-1073741824}else{f=b;g=k[(k[d>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0}}else{f=-1073741824;g=-1073741824}p=a+24|0;b=k[p>>2]|0;c=b+(f>>>5<<2)|0;d=1<<(f&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;k[h>>2]=f;b=k[q>>2]|0;c=b+1|0;if((b|0)>=0)b=((c|0)%3|0|0)==0?b+-2|0:c;k[i>>2]=b;k[u>>2]=k[h>>2];k[v>>2]=k[i>>2];Nf(a+36|0,u,v);b=k[p>>2]|0}b=b+(g>>>5<<2)|0;c=1<<(g&31);d=k[b>>2]|0;if(!(d&c)){k[b>>2]=d|c;c=a+36|0;k[j>>2]=g;b=k[q>>2]|0;do if((b|0)>=0)if(!((b>>>0)%3|0)){b=b+2|0;break}else{b=b+-1|0;break}while(0);k[l>>2]=b;k[u>>2]=k[j>>2];k[v>>2]=k[l>>2];Nf(c,u,v)}b=k[q>>2]|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=(k[p>>2]|0)+(b>>>5<<2)|0;d=1<<(b&31);e=k[c>>2]|0;if(!(d&e)){k[c>>2]=e|d;k[m>>2]=b;k[n>>2]=k[q>>2];k[u>>2]=k[m>>2];k[v>>2]=k[n>>2];Nf(a+36|0,u,v)}b=k[s>>2]|0;a:do if((b|0)<3){m=a+12|0;n=a+36|0;o=a+92|0;while(1){while(1){e=a+52+(b*12|0)+4|0;c=k[e>>2]|0;if((k[a+52+(b*12|0)>>2]|0)!=(c|0))break;b=b+1|0;if((b|0)>=3)break a}l=c+-4|0;d=k[l>>2]|0;k[e>>2]=l;k[s>>2]=b;k[q>>2]=d;if((d|0)<=-1)break;l=(d>>>0)/3|0;c=k[m>>2]|0;do if(!(k[c+(l>>>5<<2)>>2]&1<<(l&31))){b=d;b:while(1){l=(b|0)/3|0;c=c+(l>>>5<<2)|0;k[c>>2]=1<<(l&31)|k[c>>2];c=k[q>>2]|0;if((c|0)<0)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=(k[p>>2]|0)+(b>>>5<<2)|0;e=1<<(b&31);f=k[d>>2]|0;if(!(e&f)){k[d>>2]=f|e;k[w>>2]=b;k[x>>2]=k[q>>2];k[u>>2]=k[w>>2];k[v>>2]=k[x>>2];Nf(n,u,v);c=k[q>>2]|0}h=k[a>>2]|0;if((c|0)<0){t=68;break}b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)l=b;else l=k[(k[h+12>>2]|0)+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)>=0)b=k[(k[h+12>>2]|0)+(b<<2)>>2]|0;i=(l|0)<0;j=(l>>>0)/3|0;c=i?-1:j;d=(b|0)<0;e=(b>>>0)/3|0;f=d?-1:e;if(i)g=1;else g=(k[(k[m>>2]|0)+(c>>>5<<2)>>2]&1<<(c&31)|0)!=0;do if(d)if(g){t=68;break b}else t=57;else{if(k[(k[m>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)|0)if(g){t=68;break b}else{t=57;break}c=k[(k[h>>2]|0)+(e*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if(!(1<<(c&31)&k[(k[p>>2]|0)+(c>>>5<<2)>>2])){h=(k[o>>2]|0)+(c<<2)|0;e=k[h>>2]|0;k[h>>2]=e+1;e=(e|0)>0?1:2}else e=0;if(g?(e|0)<=(k[s>>2]|0):0)break;k[v>>2]=b;c=a+52+(e*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(e*12|0)+8>>2]|0))xh(a+52+(e*12|0)|0,v);else{k[d>>2]=b;k[c>>2]=d+4}if((k[s>>2]|0)>(e|0))k[s>>2]=e;if(g){t=68;break b}else t=57}while(0);if((t|0)==57){t=0;if(i)b=-1073741824;else b=k[(k[k[a>>2]>>2]|0)+(j*12|0)+(((l>>>0)%3|0)<<2)>>2]|0;if(!(1<<(b&31)&k[(k[p>>2]|0)+(b>>>5<<2)>>2])){j=(k[o>>2]|0)+(b<<2)|0;b=k[j>>2]|0;k[j>>2]=b+1;b=(b|0)>0?1:2}else b=0;if((b|0)>(k[s>>2]|0))break;else b=l}k[q>>2]=b;c=k[m>>2]|0}if((t|0)==68){t=0;b=k[s>>2]|0;break}k[v>>2]=l;c=a+52+(b*12|0)+4|0;d=k[c>>2]|0;if((d|0)==(k[a+52+(b*12|0)+8>>2]|0))xh(a+52+(b*12|0)|0,v);else{k[d>>2]=l;k[c>>2]=d+4}c=k[s>>2]|0;if((c|0)>(b|0))k[s>>2]=b;else b=c}while(0);if((b|0)>=3)break a}r=y;return}while(0);k[q>>2]=-1073741824;r=y;return}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=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,N=0,O=Pa;N=r;r=r+48|0;L=N+24|0;G=N+12|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=da(1.0);J=a+80|0;bj(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;v=G+4|0;w=G+8|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;u=k[c>>2]|0;d=0;t=0;s=0;while(1){f=u+t|0;e=x;c=k[e>>2]|0;e=k[e+4>>2]|0;q=y;f=uk(k[q>>2]|0,k[q+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=sl(f|0,M|0,c|0,e|0)|0;c=G;e=(k[k[b>>2]>>2]|0)+e|0;f=c+12|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(f|0));h=k[G>>2]|0;j=k[v>>2]|0;l=k[w>>2]|0;q=((h^318)+239^j)+239^l;p=(s|0)==0;b:do if(!p){f=s+-1|0;c=(f&s|0)==0;if(c)g=q&f;else g=(q>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(c){c=E;while(1){if((k[c+4>>2]&f|0)!=(g|0)){e=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}else{c=E;while(1){if((((k[c+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[K>>2]|0)+(t<<2)>>2]=k[c+20>>2];break b}else if((e|0)==22)if(p){c=0;e=39;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)c=g&q;else c=(q>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(c|0)){e=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(c|0)){e=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{c=0;e=39}while(0);if((e|0)==39){g=xk(24)|0;k[g+8>>2]=h;k[g+12>>2]=j;k[g+16>>2]=l;k[g+20>>2]=d;k[g+4>>2]=q;k[g>>2]=0;m=da(((k[A>>2]|0)+1|0)>>>0);O=da(s>>>0);n=da(o[H>>2]);do if(p|m>da(O*n)){c=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~da(_(da(m/n)))>>>0;Lg(L,c>>>0>>0?e:c);c=k[z>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&q;break}else{f=c;c=(q>>>0)%(c>>>0)|0;break}}else f=s;while(0);c=(k[L>>2]|0)+(c<<2)|0;e=k[c>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[c>>2]=B;c=k[g>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=51}if((e|0)==51){q=C;s=k[q>>2]|0;q=uk(s|0,k[q+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Ii((k[k[D>>2]>>2]|0)+q|0,G|0,s|0)|0;k[(k[K>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;s=k[z>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=l}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;cn(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return l|0}cn(c);r=N;return l|0}function Sb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;D=a+8|0;k[D>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else jh(h,e-d|0);A=e>>>0>1073741823?-1:e<<2;B=$m(A)|0;Vi(B|0,0,A|0)|0;C=$m(A)|0;Vi(C|0,0,A|0)|0;if((k[D>>2]|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[B+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[D>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[D>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[D>>2]|0))}}}t=k[a+48>>2]|0;u=a+56|0;f=k[u>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;A=h-g|0;v=A>>2;if((A|0)<=4){an(C);an(B);return 1}w=k[a+52>>2]|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;q=a+20|0;r=t+12|0;s=e<<2;d=1;while(1){if(h-g>>2>>>0<=d>>>0){H=28;break}p=k[g+(d<<2)>>2]|0;if(x)Vi(B|0,0,s|0)|0;if((p|0)>-1){o=k[r>>2]|0;a=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>=0){i=k[t>>2]|0;h=(g>>>0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){i=$(m,e)|0;h=$(l,e)|0;g=$(f,e)|0;if(x){f=0;do{k[C+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(x){f=0;do{m=B+(f<<2)|0;k[m>>2]=(k[m>>2]|0)+(k[C+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}g=a+1|0}else g=a}else g=a;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else a=g}l=$(d,e)|0;if(g){if(x){f=0;do{p=B+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}m=c+(l<<2)|0;if((k[D>>2]|0)>0){j=0;do{i=k[B+(j<<2)>>2]|0;f=k[y>>2]|0;do if((i|0)<=(f|0)){f=k[A>>2]|0;g=k[z>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[z>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[D>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[D>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=m+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[y>>2]|0)){if((h|0)<(k[A>>2]|0))k[g>>2]=(k[q>>2]|0)+h}else k[g>>2]=h-(k[q>>2]|0);f=f+1|0}while((f|0)<(k[D>>2]|0))}}}}else{G=l;H=52}}else{G=$(d,e)|0;H=52}if((H|0)==52?(H=0,E=c+(($(d+-1|0,e)|0)<<2)|0,F=c+(G<<2)|0,(k[D>>2]|0)>0):0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[y>>2]|0;do if((i|0)<=(f|0)){f=k[A>>2]|0;g=k[z>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[z>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[D>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[F+(f<<2)>>2]=(k[b+(f+G<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[D>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=F+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[y>>2]|0)){if((h|0)<(k[A>>2]|0))k[g>>2]=(k[q>>2]|0)+h}else k[g>>2]=h-(k[q>>2]|0);f=f+1|0}while((f|0)<(k[D>>2]|0))}}}d=d+1|0;if((d|0)>=(v|0)){H=25;break}f=k[u>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}if((H|0)==25){an(C);an(B);return 1}else if((H|0)==28)gm(f);return 0}function Tb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;F=a+8|0;k[F>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;z=1-g+f|0;k[a+20>>2]=z;f=(z|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(z&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;z=$m(o)|0;Vi(z|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;i=k[p>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;d=f>>2;f=i;while(1){n=d+-1|0;if(h-g>>2>>>0<=n>>>0)break;f=k[g+(n<<2)>>2]|0;m=$(n,e)|0;if((f|0)>=0?(A=k[(k[x>>2]|0)+(f<<2)>>2]|0,(A|0)>=0):0){h=k[o>>2]|0;g=(A>>>0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((A>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=A+1|0;f=((f|0)%3|0|0)==0?A+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+A|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=$(l,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(y){f=0;do{k[z+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(m<<2)|0;if((k[F>>2]|0)>0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[F>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[F>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+m<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[F>>2]|0))}}}}else D=31}else D=31;if((D|0)==31?(D=0,B=b+(m<<2)|0,C=b+(($(d+-2|0,e)|0)<<2)|0,(k[F>>2]|0)>0):0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[F>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[B+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[F>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+m<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[F>>2]|0))}}}if((n|0)<=1){E=z;break a}f=k[p>>2]|0;d=n;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else E=z;while(0);if((e|0)>0)Vi(z|0,0,e<<2|0)|0;if((k[F>>2]|0)<=0){an(z);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[E+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[F>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{an(z);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[F>>2]|0}while((f|0)<(g|0));if((g|0)<=0){an(z);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[F>>2]|0));an(z);return 1}function Ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=Pa,n=Pa,p=0,q=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=Pa;K=r;r=r+48|0;J=K+20|0;E=K;I=K+8|0;F=J+16|0;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[F>>2]=da(1.0);H=a+80|0;bj(I,k[H>>2]|0);e=k[H>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=J+4|0;y=J+12|0;z=J+8|0;A=a+40|0;B=a+64|0;u=k[c>>2]|0;c=0;t=0;p=0;while(1){q=u+c|0;j=v;h=k[j>>2]|0;j=k[j+4>>2]|0;s=w;s=uk(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;j=sl(s|0,M|0,h|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;s=E;k[s>>2]=h;k[s+4>>2]=j;s=(h^318)+239^j;q=(p|0)==0;b:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)g=s&f;else g=(s>>>0)%(p>>>0)|0;e=k[(k[J>>2]|0)+(g<<2)>>2]|0;do if(e|0?(C=k[e>>2]|0,C|0):0){c:do if(d){d=C;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(g|0)){e=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[I>>2]|0)+(c<<2)>>2]=k[d+16>>2];d=t;break b}else if((e|0)==20)if(q){d=0;e=35;break b}else break}while(0);g=p+-1|0;f=(g&p|0)==0;if(f)d=g&s;else d=(s>>>0)%(p>>>0)|0;e=k[(k[J>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(D=k[e>>2]|0,(D|0)!=0):0)if(f){e=D;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=D;while(1){if((((k[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){e=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=xk(20)|0;f=g+8|0;k[f>>2]=h;k[f+4>>2]=j;k[g+16>>2]=t;k[g+4>>2]=s;k[g>>2]=0;m=da(((k[y>>2]|0)+1|0)>>>0);L=da(p>>>0);n=da(o[F>>2]);do if(q|m>da(L*n)){d=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;e=~~da(_(da(m/n)))>>>0;Mg(J,d>>>0>>0?e:d);d=k[x>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=p;while(0);d=(k[J>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[z>>2];k[z>>2]=g;k[d>>2]=z;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[J>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[y>>2]=(k[y>>2]|0)+1;e=47}if((e|0)==47){s=A;d=k[s>>2]|0;s=uk(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ii((k[k[B>>2]>>2]|0)+s|0,E|0,d|0)|0;k[(k[I>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[H>>2]|0;if((c|0)>=(e|0)){p=d;break a}t=d;p=k[x>>2]|0}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[I>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[d>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=p}e=k[I>>2]|0;f=e;if(e|0){c=I+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[J+8>>2]|0;if(c|0)do{I=c;c=k[c>>2]|0;cn(I)}while((c|0)!=0);c=k[J>>2]|0;k[J>>2]=0;if(!c){r=K;return p|0}cn(c);r=K;return p|0}function Vb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;B=a+8|0;k[B>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0){if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0)k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2)}else jh(h,e-d|0);y=e>>>0>1073741823?-1:e<<2;z=$m(y)|0;Vi(z|0,0,y|0)|0;A=$m(y)|0;Vi(A|0,0,y|0)|0;if((k[B>>2]|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[z+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[B>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[B>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[B>>2]|0))}}}r=k[a+48>>2]|0;s=a+56|0;g=k[s>>2]|0;f=k[g+4>>2]|0;h=k[g>>2]|0;y=f-h|0;t=y>>2;if((y|0)<=4){an(A);an(z);return 1}u=k[a+52>>2]|0;v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;n=a+20|0;o=r+64|0;p=r+28|0;q=e<<2;d=1;while(1){if(f-h>>2>>>0<=d>>>0){J=28;break}a=k[h+(d<<2)>>2]|0;if(v)Vi(z|0,0,q|0)|0;if((a|0)>-1){m=k[r>>2]|0;j=0;l=a;do{if(((k[m+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(C=k[(k[(k[o>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(C|0)>=0):0)?(F=k[p>>2]|0,i=k[u>>2]|0,D=k[i+(k[F+(C<<2)>>2]<<2)>>2]|0,E=C+1|0,E=k[i+(k[F+((((E|0)%3|0|0)==0?C+-2|0:E)<<2)>>2]<<2)>>2]|0,F=k[i+(k[F+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(D|0)<(d|0)&(E|0)<(d|0)&(F|0)<(d|0)):0){g=$(D,e)|0;h=$(E,e)|0;i=$(F,e)|0;if(v){f=0;do{k[A+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));if(v){f=0;do{i=z+(f<<2)|0;k[i>>2]=(k[i>>2]|0)+(k[A+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}}j=j+1|0}f=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(k[m+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(a|0)?-1073741824:f}while((l|0)>-1);l=$(d,e)|0;if(j){if(v){f=0;do{a=z+(f<<2)|0;k[a>>2]=(k[a>>2]|0)/(j|0)|0;f=f+1|0}while((f|0)!=(e|0))}m=c+(l<<2)|0;if((k[B>>2]|0)>0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[B>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[B>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=m+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[w>>2]|0)){if((h|0)<(k[y>>2]|0))k[g>>2]=(k[n>>2]|0)+h}else k[g>>2]=h-(k[n>>2]|0);f=f+1|0}while((f|0)<(k[B>>2]|0))}}}}else{I=l;J=50}}else{I=$(d,e)|0;J=50}if((J|0)==50?(J=0,G=c+(($(d+-1|0,e)|0)<<2)|0,H=c+(I<<2)|0,(k[B>>2]|0)>0):0){j=0;do{i=k[G+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[B>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[H+(f<<2)>>2]=(k[b+(f+I<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[B>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=H+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[w>>2]|0)){if((h|0)<(k[y>>2]|0))k[g>>2]=(k[n>>2]|0)+h}else k[g>>2]=h-(k[n>>2]|0);f=f+1|0}while((f|0)<(k[B>>2]|0))}}}d=d+1|0;if((d|0)>=(t|0)){J=25;break}f=k[s>>2]|0;g=f;h=k[f>>2]|0;f=k[f+4>>2]|0}if((J|0)==25){an(A);an(z);return 1}else if((J|0)==28)gm(g);return 0}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,q=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,N=0,O=Pa;N=r;r=r+48|0;L=N+16|0;G=N+12|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=da(1.0);J=a+80|0;bj(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;w=k[c>>2]|0;c=0;v=0;s=0;while(1){m=w+c|0;q=x;h=k[q>>2]|0;q=k[q+4>>2]|0;u=y;u=uk(m|0,((m|0)<0)<<31>>31|0,k[u>>2]|0,k[u+4>>2]|0)|0;q=sl(u|0,M|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[G>>2]=q;h=q&65535;u=q>>>16;m=u&65535;u=(q&65535^318)+239^u;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=u&f;else g=(u>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=v;break b}else if((e|0)==20)if(t){d=0;e=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&u;else d=(u>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){e=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=xk(16)|0;m=g+8|0;j[m>>1]=q;j[m+2>>1]=q>>>16;k[g+12>>2]=v;k[g+4>>2]=u;k[g>>2]=0;n=da(((k[A>>2]|0)+1|0)>>>0);O=da(s>>>0);p=da(o[H>>2]);do if(t|n>da(O*p)){d=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~da(_(da(n/p)))>>>0;Ig(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&u;break}else{f=d;d=(u>>>0)%(d>>>0)|0;break}}else f=s;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=47}if((e|0)==47){u=C;d=k[u>>2]|0;u=uk(d|0,k[u+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Ii((k[k[D>>2]>>2]|0)+u|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=v;d=v+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){q=d;break a}v=d;s=k[z>>2]|0}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[m>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=q}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;cn(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return q|0}cn(c);r=N;return q|0}function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,q=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,N=0,O=Pa;N=r;r=r+48|0;L=N+12|0;G=N+32|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=da(1.0);J=a+80|0;bj(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;w=k[c>>2]|0;c=0;v=0;s=0;while(1){m=w+c|0;q=x;h=k[q>>2]|0;q=k[q+4>>2]|0;u=y;u=uk(m|0,((m|0)<0)<<31>>31|0,k[u>>2]|0,k[u+4>>2]|0)|0;q=sl(u|0,M|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[G>>1]=q;h=q&255;u=(q&65535)>>>8;m=u&255;u=(q&255^318)+239^u&65535;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=u&f;else g=(u>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=v;break b}else if((e|0)==20)if(t){d=0;e=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&u;else d=(u>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){e=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=xk(16)|0;m=g+8|0;i[m>>0]=q;i[m+1>>0]=q>>8;k[g+12>>2]=v;k[g+4>>2]=u;k[g>>2]=0;n=da(((k[A>>2]|0)+1|0)>>>0);O=da(s>>>0);p=da(o[H>>2]);do if(t|n>da(O*p)){d=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~da(_(da(n/p)))>>>0;Pg(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&u;break}else{f=d;d=(u>>>0)%(d>>>0)|0;break}}else f=s;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=47}if((e|0)==47){u=C;d=k[u>>2]|0;u=uk(d|0,k[u+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Ii((k[k[D>>2]>>2]|0)+u|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=v;d=v+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){q=d;break a}v=d;s=k[z>>2]|0}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[m>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=q}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;cn(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return q|0}cn(c);r=N;return q|0}function Yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ub(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Rb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=dc(a,b,d)|0;break}default:c=0}break}case 1:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ec(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Xb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Pb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=$b(a,b,d)|0;break}default:c=0}break}case 11:case 2:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=ec(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Xb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Pb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=$b(a,b,d)|0;break}default:c=0}break}case 4:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=bc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Wb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ob(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=_b(a,b,d)|0;break}default:c=0}break}case 3:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=bc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Wb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Ob(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=_b(a,b,d)|0;break}default:c=0}break}case 6:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ub(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Rb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=dc(a,b,d)|0;break}default:c=0}break}case 5:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=cc(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Ub(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Rb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=dc(a,b,d)|0;break}default:c=0}break}default:{h=-1;r=j;return h|0}}h=(c|0)==0?-1:c;r=j;return h|0}function Zb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;J=a+8|0;k[J>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;A=1-g+f|0;k[a+20>>2]=A;f=(A|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(A&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;A=$m(o)|0;Vi(A|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;i=k[p>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;d=f>>2;f=i;while(1){n=d+-1|0;if(h-g>>2>>>0<=n>>>0)break;f=k[g+(n<<2)>>2]|0;m=$(n,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(B=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(B|0)>=0):0)?(D=k[y>>2]|0,l=k[q>>2]|0,G=k[l+(k[D+(B<<2)>>2]<<2)>>2]|0,C=B+1|0,C=k[l+(k[D+((((C|0)%3|0|0)==0?B+-2|0:C)<<2)>>2]<<2)>>2]|0,D=k[l+(k[D+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(G|0)<(n|0)&(C|0)<(n|0)&(D|0)<(n|0)):0){g=$(G,e)|0;h=$(C,e)|0;i=$(D,e)|0;if(z){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+i<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(m<<2)|0;if((k[J>>2]|0)>0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[J>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[J>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+m<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[J>>2]|0))}}}}else H=27;if((H|0)==27?(H=0,E=b+(m<<2)|0,F=b+(($(d+-2|0,e)|0)<<2)|0,(k[J>>2]|0)>0):0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[J>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[E+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[J>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+m<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[J>>2]|0))}}}if((n|0)<=1){I=A;break a}f=k[p>>2]|0;d=n;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else I=A;while(0);if((e|0)>0)Vi(A|0,0,e<<2|0)|0;if((k[J>>2]|0)<=0){an(A);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[I+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[J>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{an(A);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[J>>2]|0}while((f|0)<(g|0));if((g|0)<=0){an(A);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[J>>2]|0));an(A);return 1}function _b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,q=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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Pa;T=r;r=r+48|0;S=T+28|0;K=T+8|0;L=T;R=T+16|0;N=S+16|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;o[N>>2]=da(1.0);Q=a+80|0;bj(R,k[Q>>2]|0);e=k[Q>>2]|0;if((e|0)>0){B=k[c>>2]|0;C=b+48|0;D=b+40|0;E=S+4|0;F=S+12|0;G=S+8|0;H=a+40|0;I=a+64|0;A=0;z=0;while(1){w=B+A|0;y=C;x=k[y>>2]|0;y=k[y+4>>2]|0;c=D;c=uk(w|0,((w|0)<0)<<31>>31|0,k[c>>2]|0,k[c+4>>2]|0)|0;y=sl(c|0,M|0,x|0,y|0)|0;y=(k[k[b>>2]>>2]|0)+y|0;x=y;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=y+4|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;c=K;k[c>>2]=x;k[c+4>>2]=y;c=L;k[c>>2]=x;k[c+4>>2]=y;c=zf(S,L)|0;if(!c){u=L;t=k[u>>2]|0;u=k[u+4>>2]|0;h=t&65535;y=Zk(t|0,u|0,16)|0;m=y&65535;q=u&65535;v=Zk(t|0,u|0,48)|0;w=M;s=v&65535;y=(((t&65535^318)+239^y&65535)+239^u&65535)+239^v;e=k[E>>2]|0;x=(e|0)==0;a:do if(!x){g=e+-1|0;d=(g&e|0)==0;if(d)c=y&g;else c=(y>>>0)%(e>>>0)|0;f=k[(k[S>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(J=k[f>>2]|0,(J|0)!=0):0)if(d){d=J;while(1){if((k[d+4>>2]&g|0)!=(c|0)){O=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==s<<16>>16:0)break a;d=k[d>>2]|0;if(!d){O=25;break}}}else{d=J;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){O=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==s<<16>>16:0)break a;d=k[d>>2]|0;if(!d){O=25;break}}}else O=25}else{c=0;O=25}while(0);if((O|0)==25){O=0;f=xk(20)|0;v=Tk(v|0,w|0,48)|0;t=t|v;v=u&65535|M;w=f+8|0;u=w;j[u>>1]=t;j[u+2>>1]=t>>>16;w=w+4|0;j[w>>1]=v;j[w+2>>1]=v>>>16;k[f+16>>2]=z;k[f+4>>2]=y;k[f>>2]=0;n=da(((k[F>>2]|0)+1|0)>>>0);U=da(e>>>0);p=da(o[N>>2]);do if(x|n>da(U*p)){c=(e>>>0>2&(e+-1&e|0)==0&1|e<<1)^1;d=~~da(_(da(n/p)))>>>0;Gg(S,c>>>0>>0?d:c);c=k[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&y;break}else{e=c;c=(y>>>0)%(c>>>0)|0;break}}while(0);c=(k[S>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[G>>2];k[G>>2]=f;k[c>>2]=G;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[S>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[F>>2]=(k[F>>2]|0)+1}y=H;c=k[y>>2]|0;y=uk(c|0,k[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Ii((k[k[I>>2]>>2]|0)+y|0,K|0,c|0)|0;k[(k[R>>2]|0)+(A<<2)>>2]=z;c=z+1|0}else{k[(k[R>>2]|0)+(A<<2)>>2]=k[c+16>>2];c=z}A=A+1|0;e=k[Q>>2]|0;if((A|0)>=(e|0)){q=c;break}else z=c}}else q=0;if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[R>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(P=g+(e<<2)|0,(h|0)!=(P|0)):0)k[d>>2]=h+(~((h+-4-P|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[Q>>2]|0}if((e|0)>0){f=k[R>>2]|0;if(i[m>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[Q>>2]=q}e=k[R>>2]|0;f=e;if(e|0){c=R+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[S+8>>2]|0;if(c|0)do{R=c;c=k[c>>2]|0;cn(R)}while((c|0)!=0);c=k[S>>2]|0;k[S>>2]=0;if(!c){r=T;return q|0}cn(c);r=T;return q|0}function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=Pa,n=Pa,p=0,q=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,N=0,O=0,P=0,Q=0,R=0,S=0,T=Pa;S=r;r=r+48|0;R=S+20|0;J=S+16|0;K=S+12|0;Q=S;L=R+16|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;o[L>>2]=da(1.0);P=a+80|0;bj(Q,k[P>>2]|0);e=k[P>>2]|0;if((e|0)>0){A=k[c>>2]|0;B=b+48|0;C=b+40|0;D=R+4|0;E=R+12|0;F=R+8|0;G=a+40|0;H=a+64|0;z=0;y=0;while(1){v=A+z|0;c=B;x=k[c>>2]|0;c=k[c+4>>2]|0;w=C;w=uk(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;c=sl(w|0,M|0,x|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[J>>2]=c;k[K>>2]=c;c=Bf(R,K)|0;if(!c){t=k[K>>2]|0;h=t&255;u=t>>>8;j=u&255;v=t>>>16;p=v&255;s=t>>>24;q=s&255;t=t&255;u=u&255;v=v&255;x=(((t^318)+239^u)+239^v)+239^s;e=k[D>>2]|0;w=(e|0)==0;a:do if(!w){g=e+-1|0;d=(g&e|0)==0;if(d)c=x&g;else c=(x>>>0)%(e>>>0)|0;f=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(I=k[f>>2]|0,(I|0)!=0):0)if(d){d=I;while(1){if((k[d+4>>2]&g|0)!=(c|0)){N=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){N=25;break}}}else{d=I;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){N=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){N=25;break}}}else N=25}else{c=0;N=25}while(0);if((N|0)==25){N=0;f=xk(16)|0;q=f+8|0;v=s<<24|t|v<<16|u<<8;i[q>>0]=v;i[q+1>>0]=v>>8;i[q+2>>0]=v>>16;i[q+3>>0]=v>>24;k[f+12>>2]=y;k[f+4>>2]=x;k[f>>2]=0;m=da(((k[E>>2]|0)+1|0)>>>0);T=da(e>>>0);n=da(o[L>>2]);do if(w|m>da(T*n)){c=(e>>>0>2&(e+-1&e|0)==0&1|e<<1)^1;d=~~da(_(da(m/n)))>>>0;Ng(R,c>>>0>>0?d:c);c=k[D>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&x;break}else{e=c;c=(x>>>0)%(c>>>0)|0;break}}while(0);c=(k[R>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[F>>2];k[F>>2]=f;k[c>>2]=F;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[R>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[E>>2]=(k[E>>2]|0)+1}x=G;c=k[x>>2]|0;x=uk(c|0,k[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Ii((k[k[H>>2]>>2]|0)+x|0,J|0,c|0)|0;k[(k[Q>>2]|0)+(z<<2)>>2]=y;c=y+1|0}else{k[(k[Q>>2]|0)+(z<<2)>>2]=k[c+12>>2];c=y}z=z+1|0;e=k[P>>2]|0;if((z|0)>=(e|0)){p=c;break}else y=c}}else p=0;if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[Q>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(O=g+(e<<2)|0,(h|0)!=(O|0)):0)k[d>>2]=h+(~((h+-4-O|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[P>>2]|0}if((e|0)>0){f=k[Q>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[P>>2]=p}e=k[Q>>2]|0;f=e;if(e|0){c=Q+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[R+8>>2]|0;if(c|0)do{Q=c;c=k[c>>2]|0;cn(Q)}while((c|0)!=0);c=k[R>>2]|0;k[R>>2]=0;if(!c){r=S;return p|0}cn(c);r=S;return p|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+176|0;t=A+144|0;w=A+72|0;v=A+8|0;u=A+40|0;x=A;y=a+4|0;q=k[y>>2]|0;c=k[q+20>>2]|0;l=c+8|0;h=k[l>>2]|0;l=k[l+4>>2]|0;m=c+16|0;o=m;n=k[o>>2]|0;o=k[o+4>>2]|0;if(!((l|0)>(o|0)|(l|0)==(o|0)&h>>>0>n>>>0)){z=0;r=A;return z|0}g=k[c>>2]|0;s=i[g+n>>0]|0;c=sl(n|0,o|0,1,0)|0;p=M;f=m;k[f>>2]=c;k[f+4>>2]=p;if(!((l|0)>(p|0)|(l|0)==(p|0)&h>>>0>c>>>0)){z=0;r=A;return z|0}p=i[g+c>>0]|0;c=sl(n|0,o|0,2,0)|0;d=M;f=m;k[f>>2]=c;k[f+4>>2]=d;do if(s<<24>>24>-1){e=s<<24>>24;f=k[a+228>>2]|0;if(e>>>0<(((k[a+232>>2]|0)-f|0)/116|0)>>>0){k[f+(e*116|0)>>2]=b;break}else{z=0;r=A;return z|0}}while(0);do if(((Nm(j[q+24>>1]|0)|0)&65535)>257)if((l|0)>(d|0)|(l|0)==(d|0)&h>>>0>c>>>0){d=i[g+c>>0]|0;n=sl(n|0,o|0,3,0)|0;o=m;k[o>>2]=n;k[o+4>>2]=M;d=d&255;break}else{z=0;r=A;return z|0}else d=0;while(0);n=k[q+28>>2]|0;if(!(p<<24>>24)){if(s<<24>>24<0)c=a+200|0;else{c=s<<24>>24;w=k[a+228>>2]|0;i[w+(c*116|0)+72>>0]=0;c=w+(c*116|0)+76|0}switch((d&255)<<24>>24){case 0:{c=Bd(a,c)|0;break}case 1:{c=Pe(a,c)|0;break}default:{z=0;r=A;return z|0}}if(!c){z=0;r=A;return z|0}}else{if(s<<24>>24<0|(d|0)!=0){z=0;r=A;return z|0}c=xk(88)|0;g=s<<24>>24;f=k[a+228>>2]|0;h=f+(g*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=5700;l=c+12|0;k[l>>2]=5724;m=c+64|0;k[m>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;d=c+16|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[c+76>>2]=n;k[c+80>>2]=h;k[c+84>>2]=0;p=w+4|0;k[p>>2]=5724;o=w+56|0;k[o>>2]=0;q=w+60|0;k[q>>2]=0;k[w+64>>2]=0;d=w+8|0;e=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=f+(g*116|0)+4|0;k[v>>2]=5724;d=v+4|0;a=d+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[d>>2]=e;f=k[f+(g*116|0)+68>>2]|0;f=((k[f+4>>2]|0)-(k[f>>2]|0)|0)/12|0;i[t>>0]=0;lg(v+8|0,f,t);Ta[k[(k[v>>2]|0)+8>>2]&127](v);bf(u,v);bf(t,u);k[w>>2]=k[t+4>>2];f=w+4|0;sf(f,t)|0;k[t>>2]=5724;d=k[t+20>>2]|0;if(d|0)cn(d);d=k[t+8>>2]|0;if(d|0)cn(d);k[w+36>>2]=e;k[w+40>>2]=h;k[w+44>>2]=n;k[w+48>>2]=c;k[u>>2]=5724;d=k[u+20>>2]|0;if(d|0)cn(d);d=k[u+8>>2]|0;if(d|0)cn(d);k[c+8>>2]=k[w>>2];sf(l,f)|0;d=c+44|0;u=w+36|0;k[d>>2]=k[u>>2];k[d+4>>2]=k[u+4>>2];k[d+8>>2]=k[u+8>>2];k[d+12>>2]=k[u+12>>2];i[d+16>>0]=i[u+16>>0]|0;tf(m,k[o>>2]|0,k[q>>2]|0);k[v>>2]=5724;d=k[v+20>>2]|0;if(d|0)cn(d);d=k[v+8>>2]|0;if(d|0)cn(d);d=k[o>>2]|0;e=d;if(d|0){f=k[q>>2]|0;if((f|0)!=(d|0))k[q>>2]=f+(~((f+-4-e|0)>>>2)<<2);cn(d)}k[p>>2]=5724;d=k[w+24>>2]|0;if(d|0)cn(d);d=k[w+12>>2]|0;if(d|0)cn(d)}l=xk(52)|0;k[x>>2]=c;hj(l,x);c=k[x>>2]|0;k[x>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);h=k[y>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Mf(g,f-e|0);break}if(f>>>0>>0?(z=d+(f<<2)|0,(c|0)!=(z|0)):0)do{y=c+-4|0;k[h>>2]=y;c=k[y>>2]|0;k[y>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(z|0))}while(0);z=(k[g>>2]|0)+(b<<2)|0;c=k[z>>2]|0;k[z>>2]=l;if(!c){z=1;r=A;return z|0}Ta[k[(k[c>>2]|0)+4>>2]&127](c);z=1;r=A;return z|0}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=Pa,p=Pa,q=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=Pa;J=r;r=r+48|0;I=J+12|0;D=J+32|0;H=J;E=I+16|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;o[E>>2]=da(1.0);G=a+80|0;bj(H,k[G>>2]|0);e=k[G>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=I+4|0;z=I+12|0;A=I+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;h=0;u=0;t=0;while(1){f=v+u|0;m=w;s=k[m>>2]|0;m=k[m+4>>2]|0;g=x;g=uk(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;m=sl(g|0,M|0,s|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[D>>1]=m;s=m&65535^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&s;else d=(s>>>0)%(h>>>0)|0;e=k[I>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);k[(k[H>>2]|0)+(u<<2)>>2]=k[c+12>>2];d=t;break b}while(0);if(f)c=g&s;else c=(s>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;q=28;break b}if((j[d+8>>1]|0)==m<<16>>16){q=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;q=28;break b}if((j[d+8>>1]|0)==m<<16>>16){q=40;break}}else{d=h;e=0;q=28}}else{c=0;d=0;e=1;q=28}while(0);if((q|0)==28){f=xk(16)|0;j[f+8>>1]=m;k[f+12>>2]=t;k[f+4>>2]=s;k[f>>2]=0;n=da(((k[z>>2]|0)+1|0)>>>0);K=da(d>>>0);p=da(o[E>>2]);do if(e|n>da(K*p)){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~da(_(da(n/p)))>>>0;Jg(I,c>>>0>>0?d:c);c=k[y>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&s;break}else{e=c;c=(s>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[I>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[A>>2];k[A>>2]=f;k[c>>2]=A;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[I>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[z>>2]=(k[z>>2]|0)+1;q=40}if((q|0)==40){q=0;s=B;d=k[s>>2]|0;s=uk(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ii((k[k[C>>2]>>2]|0)+s|0,D|0,d|0)|0;k[(k[H>>2]|0)+(u<<2)>>2]=t;d=t+1|0}c=u+1|0;e=k[G>>2]|0;if((c|0)>=(e|0)){q=d;break a}h=k[y>>2]|0;u=c;t=d}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[H>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[d>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=q}e=k[H>>2]|0;f=e;if(e|0){c=H+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[I+8>>2]|0;if(c|0)do{H=c;c=k[c>>2]|0;cn(H)}while((c|0)!=0);c=k[I>>2]|0;k[I>>2]=0;if(!c){r=J;return q|0}cn(c);r=J;return q|0}function cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=Pa,n=Pa,p=0,q=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=Pa;I=r;r=r+48|0;H=I+16|0;C=I+12|0;G=I;D=H+16|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[D>>2]=da(1.0);F=a+80|0;bj(G,k[F>>2]|0);e=k[F>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=H+4|0;y=H+12|0;z=H+8|0;A=a+40|0;B=a+64|0;u=k[c>>2]|0;h=0;t=0;s=0;while(1){f=u+t|0;j=v;q=k[j>>2]|0;j=k[j+4>>2]|0;g=w;g=uk(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=sl(g|0,M|0,q|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[C>>2]=j;q=j^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&q;else d=(q>>>0)%(h>>>0)|0;e=k[H>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));k[(k[G>>2]|0)+(t<<2)>>2]=k[c+12>>2];d=s;break b}while(0);if(f)c=g&q;else c=(q>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;p=28;break b}if((k[d+8>>2]|0)==(j|0)){p=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;p=28;break b}if((k[d+8>>2]|0)==(j|0)){p=40;break}}else{d=h;e=0;p=28}}else{c=0;d=0;e=1;p=28}while(0);if((p|0)==28){f=xk(16)|0;k[f+8>>2]=j;k[f+12>>2]=s;k[f+4>>2]=q;k[f>>2]=0;m=da(((k[y>>2]|0)+1|0)>>>0);J=da(d>>>0);n=da(o[D>>2]);do if(e|m>da(J*n)){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~da(_(da(m/n)))>>>0;Vg(H,c>>>0>>0?d:c);c=k[x>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&q;break}else{e=c;c=(q>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[H>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[z>>2];k[z>>2]=f;k[c>>2]=z;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[H>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[y>>2]=(k[y>>2]|0)+1;p=40}if((p|0)==40){p=0;q=A;d=k[q>>2]|0;q=uk(d|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Ii((k[k[B>>2]>>2]|0)+q|0,C|0,d|0)|0;k[(k[G>>2]|0)+(t<<2)>>2]=s;d=s+1|0}c=t+1|0;e=k[F>>2]|0;if((c|0)>=(e|0)){p=d;break a}h=k[x>>2]|0;t=c;s=d}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[G>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(E=g+(e<<2)|0,(h|0)!=(E|0)):0)k[d>>2]=h+(~((h+-4-E|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[F>>2]|0}if((e|0)>0){f=k[G>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[F>>2]=p}e=k[G>>2]|0;f=e;if(e|0){c=G+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[H+8>>2]|0;if(c|0)do{G=c;c=k[c>>2]|0;cn(G)}while((c|0)!=0);c=k[H>>2]|0;k[H>>2]=0;if(!c){r=I;return p|0}cn(c);r=I;return p|0}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=Pa,n=Pa,p=0,q=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,N=0,O=0,P=0,Q=0,R=Pa;Q=r;r=r+80|0;P=Q+48|0;H=Q+32|0;I=Q+16|0;O=Q;J=P+16|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;o[J>>2]=da(1.0);N=a+80|0;bj(O,k[N>>2]|0);e=k[N>>2]|0;if((e|0)>0){y=k[c>>2]|0;z=b+48|0;A=b+40|0;v=I+4|0;w=I+8|0;x=I+12|0;B=P+4|0;C=P+12|0;D=P+8|0;E=a+40|0;F=a+64|0;t=0;u=0;while(1){e=y+u|0;c=z;d=k[c>>2]|0;c=k[c+4>>2]|0;f=A;e=uk(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c=sl(e|0,M|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;d=H;e=c;f=d+16|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));Wj(I|0,c|0,16)|0;c=Df(P,I)|0;if(!c){g=k[I>>2]|0;h=k[v>>2]|0;j=k[w>>2]|0;l=k[x>>2]|0;s=(((g^318)+239^h)+239^j)+239^l;p=k[B>>2]|0;q=(p|0)==0;a:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)c=s&f;else c=(s>>>0)%(p>>>0)|0;e=k[(k[P>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(d){d=G;while(1){if((k[d+4>>2]&f|0)!=(c|0)){K=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){K=25;break}}}else{d=G;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(c|0)){K=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){K=25;break}}}else K=25}else{c=0;K=25}while(0);if((K|0)==25){K=0;f=xk(28)|0;k[f+8>>2]=g;k[f+12>>2]=h;k[f+16>>2]=j;k[f+20>>2]=l;k[f+24>>2]=t;k[f+4>>2]=s;k[f>>2]=0;m=da(((k[C>>2]|0)+1|0)>>>0);R=da(p>>>0);n=da(o[J>>2]);do if(q|m>da(R*n)){c=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;d=~~da(_(da(m/n)))>>>0;Kg(P,c>>>0>>0?d:c);c=k[B>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&s;break}else{e=c;c=(s>>>0)%(c>>>0)|0;break}}else e=p;while(0);c=(k[P>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[D>>2];k[D>>2]=f;k[c>>2]=D;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[P>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[C>>2]=(k[C>>2]|0)+1}s=E;c=k[s>>2]|0;s=uk(c|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ii((k[k[F>>2]>>2]|0)+s|0,H|0,c|0)|0;k[(k[O>>2]|0)+(u<<2)>>2]=t;c=t+1|0}else{k[(k[O>>2]|0)+(u<<2)>>2]=k[c+24>>2];c=t}u=u+1|0;e=k[N>>2]|0;if((u|0)>=(e|0)){l=c;break}else t=c}}else l=0;if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[O>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(L=g+(e<<2)|0,(h|0)!=(L|0)):0)k[d>>2]=h+(~((h+-4-L|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[N>>2]|0}if((e|0)>0){f=k[O>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[N>>2]=l}e=k[O>>2]|0;f=e;if(e|0){c=O+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[P+8>>2]|0;if(c|0)do{O=c;c=k[c>>2]|0;cn(O)}while((c|0)!=0);c=k[P>>2]|0;k[P>>2]=0;if(!c){r=Q;return l|0}cn(c);r=Q;return l|0}function ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=Pa,m=Pa,n=0,p=0,q=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=Pa;H=r;r=r+48|0;G=H+12|0;B=H+32|0;F=H;C=G+16|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[C>>2]=da(1.0);E=a+80|0;bj(F,k[E>>2]|0);e=k[E>>2]|0;a:do if((e|0)>0){u=b+48|0;v=b+40|0;w=G+4|0;x=G+12|0;y=G+8|0;z=a+40|0;A=a+64|0;t=k[c>>2]|0;h=0;s=0;q=0;while(1){f=t+s|0;j=u;p=k[j>>2]|0;j=k[j+4>>2]|0;g=v;g=uk(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=sl(g|0,M|0,p|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[B>>0]=j;p=j&255^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&p;else d=(p>>>0)%(h>>>0)|0;e=k[G>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);k[(k[F>>2]|0)+(s<<2)>>2]=k[c+12>>2];d=q;break b}while(0);if(f)c=g&p;else c=(p>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;n=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;n=28;break b}if((i[d+8>>0]|0)==j<<24>>24){n=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;n=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;n=28;break b}if((i[d+8>>0]|0)==j<<24>>24){n=40;break}}else{d=h;e=0;n=28}}else{c=0;d=0;e=1;n=28}while(0);if((n|0)==28){f=xk(16)|0;i[f+8>>0]=j;k[f+12>>2]=q;k[f+4>>2]=p;k[f>>2]=0;l=da(((k[x>>2]|0)+1|0)>>>0);I=da(d>>>0);m=da(o[C>>2]);do if(e|l>da(I*m)){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~da(_(da(l/m)))>>>0;Qg(G,c>>>0>>0?d:c);c=k[w>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&p;break}else{e=c;c=(p>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[G>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[y>>2];k[y>>2]=f;k[c>>2]=y;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[G>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[x>>2]=(k[x>>2]|0)+1;n=40}if((n|0)==40){n=0;p=z;d=k[p>>2]|0;p=uk(d|0,k[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Ii((k[k[A>>2]>>2]|0)+p|0,B|0,d|0)|0;k[(k[F>>2]|0)+(s<<2)>>2]=q;d=q+1|0}c=s+1|0;e=k[E>>2]|0;if((c|0)>=(e|0)){n=d;break a}h=k[w>>2]|0;s=c;q=d}}else n=0;while(0);if((n|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[F>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[d>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ag(c,e-f|0,3152);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Ka(14270,14289,80,14321);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=n}e=k[F>>2]|0;f=e;if(e|0){c=F+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e)}c=k[G+8>>2]|0;if(c|0)do{F=c;c=k[c>>2]|0;cn(F)}while((c|0)!=0);c=k[G>>2]|0;k[G>>2]=0;if(!c){r=H;return n|0}cn(c);r=H;return n|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;l=c<<24>>24;h=$m((l|0)>-1?l:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){a=0;d=0}else{Ii(k[k[d+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+l|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;a=a+1|0;if((a|0)==(b|0))break a}}while(1){f=k[g>>2]|0;c=0;e=d;while(1){i[h+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else e=e+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,h|0,l|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+l|0}}while(0);an(h);o=1;return o|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=$m((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){a=0;d=0}else{Ii(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+h|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break b}}while(1){f=k[g>>2]|0;c=0;e=d;while(1){i[l+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(h|0))break;else e=e+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,l|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+h|0}}while(0);an(l);o=1;return o|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=$m(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ii(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break c}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){j[n+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);an(n);o=1;return o|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=$m(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ii(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break d}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){j[n+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);an(n);o=1;return o|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=$m(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ii(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break e}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){k[n+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);an(n);o=1;return o|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=$m(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ii(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break f}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){k[n+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ii((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);an(n);o=1;return o|0}default:{o=0;return o|0}}return 0}function gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){r=z;return}u=(e>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=z;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))xh(t,b);else{k[c>>2]=e;k[u>>2]=c+4}c=k[a>>2]|0;d=k[b>>2]|0;e=d+1|0;do if((d|0)>=0){f=k[c+28>>2]|0;c=k[f+((((e|0)%3|0|0)==0?d+-2|0:e)<<2)>>2]|0;if(!((d>>>0)%3|0)){g=c;d=d+2|0;c=f;break}else{g=c;d=d+-1|0;c=f;break}}else{c=k[c+28>>2]|0;g=k[c+(d<<2)>>2]|0}while(0);h=k[c+(d<<2)>>2]|0;n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];Nf(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];Nf(d,p,q)}d=k[t>>2]|0;c=k[u>>2]|0;if((d|0)==(c|0)){r=z;return}j=a+36|0;do{e=k[c+-4>>2]|0;k[b>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(x=k[s>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=x;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;c=d+(h>>>5<<2)|0;k[c>>2]=1<<(h&31)|k[c>>2];c=k[b>>2]|0;h=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)i=1;else{i=k[(k[k[e+64>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;i=(1<<(i&31)&k[(k[e+12>>2]|0)+(i>>>5<<2)>>2]|0)!=0}d=(k[n>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=h;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];Nf(j,p,q);e=k[a>>2]|0;c=k[b>>2]|0;if(i){i=e;y=40}else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);k[b>>2]=c}}else{i=e;y=40}if((y|0)==40){y=0;e=(c|0)<0;d=c+1|0;if(e)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&k[(k[i>>2]|0)+(d>>>5<<2)>>2])){if((d|0)>=0)d=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;k[q>>2]=d;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);m=(d|0)<0;e=m?-1:(d>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!m){h=k[s>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=54;break}if(f){c=d;break}if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=59;break a}else c=d}else y=54;while(0);if((y|0)==54){y=0;if(f){y=56;break}if(k[(k[s>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){y=56;break}}k[b>>2]=c;e=i}d=k[s>>2]|0}do if((y|0)==56){y=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((y|0)==59){y=0;d=k[u>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[o>>2]|0)){xh(t,q);c=k[u>>2]|0;break}else{k[d>>2]=k[q>>2];c=d+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=c+-4|0;k[u>>2]=c}}while((d|0)!=(c|0));r=z;return}function hc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+16|0;y=z+4|0;v=z;w=b+8|0;g=w;h=k[g>>2]|0;g=k[g+4>>2]|0;x=b+16|0;d=x;c=k[d>>2]|0;d=k[d+4>>2]|0;f=sl(c|0,d|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){y=-1;r=z;return y|0}u=(k[b>>2]|0)+c|0;u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24;t=x;k[t>>2]=f;k[t+4>>2]=e;a:do if(u|0){if(((Nm(j[(k[a+4>>2]|0)+24>>1]|0)|0)&65535)<=257){o=y+4|0;p=y+8|0;q=a+40|0;s=a+44|0;t=a+36|0;d=sl(c|0,d|0,8,0)|0;c=M;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0)){n=0;m=e;do{e=k[b>>2]|0;A=e+f|0;k[y>>2]=l[A>>0]|l[A+1>>0]<<8|l[A+2>>0]<<16|l[A+3>>0]<<24;A=x;k[A>>2]=d;k[A+4>>2]=c;c=sl(f|0,m|0,8,0)|0;A=M;if((g|0)<(A|0)|(g|0)==(A|0)&h>>>0>>0)break b;c=e+d|0;k[o>>2]=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;c=sl(f|0,m|0,8,0)|0;A=M;d=x;k[d>>2]=c;k[d+4>>2]=A;if(!((g|0)>(A|0)|(g|0)==(A|0)&h>>>0>c>>>0))break b;c=i[e+c>>0]|0;m=sl(f|0,m|0,9,0)|0;A=x;k[A>>2]=m;k[A+4>>2]=M;i[p>>0]=c&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))dh(t,y);else{k[c>>2]=k[y>>2];k[c+4>>2]=k[y+4>>2];k[c+8>>2]=k[y+8>>2];k[q>>2]=(k[q>>2]|0)+12}n=n+1|0;if(n>>>0>=u>>>0)break a;g=w;h=k[g>>2]|0;g=k[g+4>>2]|0;m=x;f=k[m>>2]|0;m=k[m+4>>2]|0;d=sl(f|0,m|0,4,0)|0;c=M}while(!((g|0)<(c|0)|(g|0)==(c|0)&h>>>0>>0))}while(0);A=-1;r=z;return A|0}e=y+4|0;f=a+40|0;g=a+44|0;h=a+36|0;c=0;d=0;do{ci(v,b);k[e>>2]=(k[v>>2]|0)+d;ci(v,b);d=k[e>>2]|0;k[y>>2]=d-(k[v>>2]|0);m=k[f>>2]|0;if((m|0)==(k[g>>2]|0))dh(h,y);else{k[m>>2]=k[y>>2];k[m+4>>2]=k[y+4>>2];k[m+8>>2]=k[y+8>>2];k[f>>2]=(k[f>>2]|0)+12}c=c+1|0}while((c|0)!=(u|0));ig(b,0,0)|0;m=b+36|0;n=a+36|0;o=b+32|0;p=b+24|0;q=b+28|0;h=0;c=0;do{if(i[m>>0]|0){d=k[o>>2]|0;e=k[p>>2]|0;g=k[q>>2]|0;c=e+(d>>>3)|0;if(c>>>0>>0){f=(l[c>>0]|0)>>>(d&7)&1;d=d+1|0;k[o>>2]=d}else f=0;c=e+(d>>>3)|0;if(c>>>0>>0){c=(l[c>>0]|0)>>>(d&7)&1;k[o>>2]=d+1}else c=0;c=c<<1|f}A=(k[n>>2]|0)+(h*12|0)+8|0;i[A>>0]=c&3|i[A>>0]&-4;h=h+1|0}while((h|0)!=(u|0));Oj(b)}while(0);h=w;g=k[h>>2]|0;h=k[h+4>>2]|0;f=x;e=k[f>>2]|0;f=k[f+4>>2]|0;d=sl(e|0,f|0,4,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=-1;r=z;return A|0}p=(k[b>>2]|0)+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;A=x;k[A>>2]=d;k[A+4>>2]=c;c:do if(p|0){if(((Nm(j[(k[a+4>>2]|0)+24>>1]|0)|0)&65535)>257){g=a+52|0;h=a+56|0;e=a+48|0;c=0;d=0;while(1){k[y>>2]=0;ci(v,b);d=(k[v>>2]|0)+d|0;k[y>>2]=d;f=k[g>>2]|0;if((f|0)==(k[h>>2]|0))xh(e,y);else{k[f>>2]=d;k[g>>2]=f+4}c=c+1|0;if((c|0)==(p|0))break c}}n=a+52|0;o=a+56|0;m=a+48|0;k[y>>2]=0;e=sl(e|0,f|0,8,0)|0;c=M;if(!((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0)){f=0;do{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[y>>2]=d;A=x;k[A>>2]=e;k[A+4>>2]=c;c=k[n>>2]|0;if((c|0)==(k[o>>2]|0))xh(m,y);else{k[c>>2]=d;k[n>>2]=c+4}f=f+1|0;if(f>>>0>=p>>>0)break c;v=w;A=k[v>>2]|0;v=k[v+4>>2]|0;e=x;d=k[e>>2]|0;e=k[e+4>>2]|0;k[y>>2]=0;e=sl(d|0,e|0,4,0)|0;c=M}while(!((v|0)<(c|0)|(v|0)==(c|0)&A>>>0>>0))}A=-1;r=z;return A|0}while(0);A=k[x>>2]|0;r=z;return A|0}function ic(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{jh(h,e-d|0);d=k[x>>2]|0}u=k[a+48>>2]|0;v=k[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=$m(t)|0;Vi(w|0,0,t|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[w+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[x>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[x>>2]|0))}}}p=a+56|0;f=k[p>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;t=h-g|0;q=t>>2;if((t|0)<=4){an(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;a=a+20|0;n=u+12|0;o=(e|0)>0;d=1;while(1){if(h-g>>2>>>0<=d>>>0){B=28;break}f=k[g+(d<<2)>>2]|0;m=$(d,e)|0;if((f|0)>=0?(y=k[(k[n>>2]|0)+(f<<2)>>2]|0,(y|0)>=0):0){h=k[u>>2]|0;g=(y>>>0)%3|0;i=k[v>>2]|0;l=k[i+(k[h+(((y>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[x>>2]|0)>0){j=0;do{i=k[w+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[r>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}}else B=37}else B=37;if((B|0)==37?(B=0,z=c+(($(d+-1|0,e)|0)<<2)|0,A=c+(m<<2)|0,(k[x>>2]|0)>0):0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=A+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[r>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}d=d+1|0;if((d|0)>=(q|0)){B=25;break}f=k[p>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}if((B|0)==25){an(w);return 1}else if((B|0)==28)gm(f);return 0}function jc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){r=z;return}u=(e>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=z;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))xh(t,b);else{k[c>>2]=e;k[u>>2]=c+4}e=k[a>>2]|0;d=k[b>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){g=c;h=-1073741824}else{g=c;h=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];Nf(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];Nf(d,p,q)}c=k[t>>2]|0;e=k[u>>2]|0;if((c|0)==(e|0)){r=z;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[b>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(x=k[s>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){e=(c|0)/3|0;f=d+(e>>>5<<2)|0;k[f>>2]=1<<(e&31)|k[f>>2];f=k[b>>2]|0;e=k[a>>2]|0;if((f|0)<0)i=-1073741824;else i=k[(k[e>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;c=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0){c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)h=c;else h=((d|0)%3|0|0)==0?c+-2|0:d}else h=c}else h=c;c=(k[n>>2]|0)+(i>>>5<<2)|0;d=1<<(i&31);g=k[c>>2]|0;if(!(g&d)){k[c>>2]=g|d;k[v>>2]=i;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];Nf(j,p,q);d=k[a>>2]|0;c=k[b>>2]|0;if((h|0)<0){f=c;e=d;y=41}else{do if((c|0)<0)c=-1073741824;else{m=c+1|0;c=((m|0)%3|0|0)==0?c+-2|0:m;if((c|0)<0)break;c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((f|0)<0){y=44;break}c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;k[q>>2]=c;d=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;e=m?-1:(c>>>0)/3|0;f=(d|0)<0;g=f?-1:(d>>>0)/3|0;do if(!m){h=k[s>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=49;break}if(f)break;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(f){y=51;break}if(!(k[(k[s>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))c=d;else{y=51;break}}k[b>>2]=c}d=k[s>>2]|0}do if((y|0)==44){k[q>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=k[u>>2]|0;k[c+-4>>2]=d;if((c|0)==(k[o>>2]|0)){xh(t,q);c=k[u>>2]|0;break}else{k[c>>2]=k[q>>2];c=c+4|0;k[u>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}d=k[t>>2]|0}else{c=e+-4|0;k[u>>2]=c}if((d|0)==(c|0))break;else e=c}r=z;return}function kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=a+8|0;k[y>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{jh(h,e-d|0);d=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=$m(u)|0;Vi(x|0,0,u|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[x+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[y>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[y>>2]|0))}}}q=a+56|0;g=k[q>>2]|0;f=k[g+4>>2]|0;h=k[g>>2]|0;u=f-h|0;r=u>>2;if((u|0)<=4){an(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;d=1;while(1){if(f-h>>2>>>0<=d>>>0){F=28;break}f=k[h+(d<<2)>>2]|0;m=$(d,e)|0;if((!((f|0)<0?1:(1<<(f&31)&k[(k[v>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>=0):0)?(C=k[o>>2]|0,l=k[w>>2]|0,A=k[l+(k[C+(z<<2)>>2]<<2)>>2]|0,B=z+1|0,B=k[l+(k[C+((((B|0)%3|0|0)==0?z+-2|0:B)<<2)>>2]<<2)>>2]|0,C=k[l+(k[C+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0,(A|0)<(d|0)&(B|0)<(d|0)&(C|0)<(d|0)):0){g=$(A,e)|0;h=$(B,e)|0;i=$(C,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+i<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+g<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[y>>2]|0)>0){j=0;do{i=k[x+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}}else F=33;if((F|0)==33?(F=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=c+(m<<2)|0,(k[y>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[E+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=E+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}d=d+1|0;if((d|0)>=(r|0)){F=25;break}f=k[q>>2]|0;g=f;h=k[f>>2]|0;f=k[f+4>>2]|0}if((F|0)==25){an(x);return 1}else if((F|0)==28)gm(g);return 0}function lc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Pa,f=0,g=0,h=Pa,i=0,j=0,l=Pa,m=Pa,n=Pa,p=0,q=Pa,s=Pa,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=0,D=Pa;C=r;r=r+48|0;z=C+24|0;x=C+12|0;y=C;g=a+24|0;f=k[b>>2]|0;b=f+1|0;if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0}else{b=-1073741824;f=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)gm(g);p=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)gm(g);f=k[j+(f<<2)>>2]|0;b=(p|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+48|0;b=k[i>>2]|0;g=$(b,p)|0}else{if((d|0)>0){i=a+48|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=C;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=C;return}while(0);if((b|0)<=0){r=C;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=C;return}b=a+48|0;j=k[b>>2]|0;i=$(j,p)|0;t=da(k[c+(i<<2)>>2]|0);u=da(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;v=da(k[c+(j<<2)>>2]|0);w=da(k[c+(j+1<<2)>>2]|0);if(!(v!=t|w!=u)){a=k[a+44>>2]|0;k[a>>2]=~~v;k[a+4>>2]=~~w;r=C;return}jg(z,a,d);jg(x,a,p);jg(y,a,f);q=da(o[y>>2]);l=da(o[x>>2]);q=da(q-l);s=da(o[y+4>>2]);m=da(o[x+4>>2]);s=da(s-m);h=da(o[y+8>>2]);e=da(o[x+8>>2]);h=da(h-e);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);e=da(da(o[z+8>>2])-e);n=da(da(da(da(q*q)+da(0.0))+da(s*s))+da(h*h));if(n>da(0.0)?1:(k[a+64>>2]|0)<258){D=da(da(da(da(da(q*l)+da(0.0))+da(s*m))+da(h*e))/n);q=da(l-da(q*D));s=da(m-da(s*D));e=da(e-da(h*D));h=D;e=da(P(da(da(da(e*e)+da(da(s*s)+da(da(q*q)+da(0.0))))/n)))}else{h=da(0.0);e=da(0.0)}m=da(v-t);l=da(w-u);D=da(t+da(m*h));m=da(m*e);w=da(u+da(l*h));l=da(l*e);h=da(D-l);e=da(w+m);l=da(D+l);m=da(w-m);b=$(k[b>>2]|0,d)|0;w=da(k[c+(b<<2)>>2]|0);D=da(k[c+(b+1<<2)>>2]|0);u=da(w-h);v=da(D-e);w=da(w-l);D=da(D-m);c=da(da(da(u*u)+da(0.0))+da(v*v))>2]|0;i=k[a+60>>2]|0;j=(g|0)==(i<<5|0);if(c){do if(j)if((g+1|0)<0)hm(b);else{A=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(A>>>0>>0?c:A):2147483647);A=k[f>>2]|0;break}else A=g;while(0);k[f>>2]=A+1;c=(k[b>>2]|0)+(A>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(A&31)}else{do if(j)if((g+1|0)<0)hm(b);else{B=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(B>>>0>>0?c:B):2147483647);B=k[f>>2]|0;break}else B=g;while(0);k[f>>2]=B+1;c=(k[b>>2]|0)+(B>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(B&31));h=l;e=m}c=~~+N(+(+h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+N(+(+e+.5));k[a+4>>2]=c;r=C;return}function mc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Pa,f=0,g=0,h=Pa,i=0,j=0,l=Pa,m=Pa,n=Pa,p=0,q=Pa,s=Pa,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=0,D=Pa;C=r;r=r+48|0;z=C+24|0;x=C+12|0;y=C;g=a+48|0;f=k[b>>2]|0;b=f+1|0;if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0}else{b=-1073741824;f=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)gm(g);p=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)gm(g);f=k[j+(f<<2)>>2]|0;b=(p|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+72|0;b=k[i>>2]|0;g=$(b,p)|0}else{if((d|0)>0){i=a+72|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=C;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=C;return}while(0);if((b|0)<=0){r=C;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=C;return}b=a+72|0;j=k[b>>2]|0;i=$(j,p)|0;t=da(k[c+(i<<2)>>2]|0);u=da(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;v=da(k[c+(j<<2)>>2]|0);w=da(k[c+(j+1<<2)>>2]|0);if(!(v!=t|w!=u)){a=k[a+68>>2]|0;k[a>>2]=~~v;k[a+4>>2]=~~w;r=C;return}kg(z,a,d);kg(x,a,p);kg(y,a,f);q=da(o[y>>2]);l=da(o[x>>2]);q=da(q-l);s=da(o[y+4>>2]);m=da(o[x+4>>2]);s=da(s-m);h=da(o[y+8>>2]);e=da(o[x+8>>2]);h=da(h-e);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);e=da(da(o[z+8>>2])-e);n=da(da(da(da(q*q)+da(0.0))+da(s*s))+da(h*h));if(n>da(0.0)?1:(k[a+88>>2]|0)<258){D=da(da(da(da(da(q*l)+da(0.0))+da(s*m))+da(h*e))/n);q=da(l-da(q*D));s=da(m-da(s*D));e=da(e-da(h*D));h=D;e=da(P(da(da(da(e*e)+da(da(s*s)+da(da(q*q)+da(0.0))))/n)))}else{h=da(0.0);e=da(0.0)}m=da(v-t);l=da(w-u);D=da(t+da(m*h));m=da(m*e);w=da(u+da(l*h));l=da(l*e);h=da(D-l);e=da(w+m);l=da(D+l);m=da(w-m);b=$(k[b>>2]|0,d)|0;w=da(k[c+(b<<2)>>2]|0);D=da(k[c+(b+1<<2)>>2]|0);u=da(w-h);v=da(D-e);w=da(w-l);D=da(D-m);c=da(da(da(u*u)+da(0.0))+da(v*v))>2]|0;i=k[a+84>>2]|0;j=(g|0)==(i<<5|0);if(c){do if(j)if((g+1|0)<0)hm(b);else{A=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(A>>>0>>0?c:A):2147483647);A=k[f>>2]|0;break}else A=g;while(0);k[f>>2]=A+1;c=(k[b>>2]|0)+(A>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(A&31)}else{do if(j)if((g+1|0)<0)hm(b);else{B=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(B>>>0>>0?c:B):2147483647);B=k[f>>2]|0;break}else B=g;while(0);k[f>>2]=B+1;c=(k[b>>2]|0)+(B>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(B&31));h=l;e=m}c=~~+N(+(+h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+N(+(+e+.5));k[a+4>>2]=c;r=C;return}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+16|0;x=C+8|0;y=C+4|0;z=C;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=C;return}w=b+80|0;t=b+84|0;u=a+52|0;v=c+84|0;j=c+68|0;l=a+56|0;m=a+60|0;n=a+12|0;o=a+28|0;p=a+40|0;q=a+44|0;s=a+48|0;f=0;h=0;a:while(1){b=k[(k[d+24>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){c=f;b=d}else{g=f+1|0;c=(b>>>0)/3|0;d=k[w>>2]|0;if((c|0)>=(((k[t>>2]|0)-d|0)/12|0|0)){B=6;break}c=k[d+(c*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))c=k[(k[j>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[l>>2]|0;if(d>>>0<(k[m>>2]|0)>>>0){k[d>>2]=c;k[l>>2]=d+4}else xh(u,x);k[x>>2]=b;k[y>>2]=0;b:do if(k[(k[n>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;k[y>>2]=c;if((c|0)>-1)b=c;else break;while(1){k[x>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break;c=((d|0)%3|0|0)==0?c+-2|0:d;k[y>>2]=c;if((c|0)>-1)b=c;else break b}k[y>>2]=c;break}}}else c=-1073741824;k[y>>2]=c}while(0);k[(k[o>>2]|0)+(b<<2)>>2]=f;b=k[q>>2]|0;if((b|0)==(k[s>>2]|0))xh(p,x);else{k[b>>2]=k[x>>2];k[q>>2]=b+4}b=k[A>>2]|0;d=k[x>>2]|0;c:do if((d|0)>=0){c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=c;if((c|0)>-1&(c|0)!=(d|0)){b=f;e=c;while(1){f=e+1|0;f=((f|0)%3|0|0)==0?e+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){d=g+1|0;b=(e|0)/3|0;if((e|0)<=-3){B=33;break a}c=k[w>>2]|0;if((b|0)>=(((k[t>>2]|0)-c|0)/12|0|0)){B=35;break a}b=k[c+(b*12|0)+(((e|0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))b=k[(k[j>>2]|0)+(b<<2)>>2]|0;k[z>>2]=b;c=k[l>>2]|0;if(c>>>0<(k[m>>2]|0)>>>0){k[c>>2]=b;k[l>>2]=c+4}else xh(u,z);b=k[q>>2]|0;if((b|0)==(k[s>>2]|0)){xh(p,y);f=d;d=g;break}else{k[b>>2]=k[y>>2];k[q>>2]=b+4;f=d;d=g;break}}else{f=g;d=b}while(0);k[(k[o>>2]|0)+(k[y>>2]<<2)>>2]=d;b=k[A>>2]|0;c=k[y>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;e=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if(!((e|0)>-1?(e|0)!=(k[x>>2]|0):0)){c=f;break c}else{g=f;b=d}}k[y>>2]=c;c=f}else c=g}else B=30}else B=30}else{c=d;B=30}while(0);if((B|0)==30){B=0;k[y>>2]=c;c=g}}h=h+1|0;if((h|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0)){B=3;break}else{f=c;d=b}}if((B|0)==3){r=C;return}else if((B|0)==6)Ka(14216,14197,64,14211);else if((B|0)==33)Ka(14172,14197,63,14211);else if((B|0)==35)Ka(14216,14197,64,14211)}function oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Pa,f=0,g=0,h=Pa,i=0,j=0,l=Pa,m=Pa,n=Pa,p=0,q=Pa,s=Pa,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=0,D=Pa;C=r;r=r+48|0;z=C+24|0;x=C+12|0;y=C;i=a+24|0;f=k[b>>2]|0;b=f+1|0;do if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;if(!((f>>>0)%3|0)){g=f+2|0;break}else{g=f+-1|0;break}}else{g=f;b=f}while(0);f=k[(k[i>>2]|0)+28>>2]|0;b=k[f+(b<<2)>>2]|0;f=k[f+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)gm(g);p=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)gm(g);f=k[j+(f<<2)>>2]|0;b=(p|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+48|0;b=k[i>>2]|0;g=$(b,p)|0}else{if((d|0)>0){i=a+48|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=C;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=C;return}while(0);if((b|0)<=0){r=C;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=C;return}b=a+48|0;j=k[b>>2]|0;i=$(j,p)|0;t=da(k[c+(i<<2)>>2]|0);u=da(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;v=da(k[c+(j<<2)>>2]|0);w=da(k[c+(j+1<<2)>>2]|0);if(!(v!=t|w!=u)){a=k[a+44>>2]|0;k[a>>2]=~~v;k[a+4>>2]=~~w;r=C;return}jg(z,a,d);jg(x,a,p);jg(y,a,f);q=da(o[y>>2]);l=da(o[x>>2]);q=da(q-l);s=da(o[y+4>>2]);m=da(o[x+4>>2]);s=da(s-m);h=da(o[y+8>>2]);e=da(o[x+8>>2]);h=da(h-e);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);e=da(da(o[z+8>>2])-e);n=da(da(da(da(q*q)+da(0.0))+da(s*s))+da(h*h));if(n>da(0.0)?1:(k[a+64>>2]|0)<258){D=da(da(da(da(da(q*l)+da(0.0))+da(s*m))+da(h*e))/n);q=da(l-da(q*D));s=da(m-da(s*D));e=da(e-da(h*D));h=D;e=da(P(da(da(da(e*e)+da(da(s*s)+da(da(q*q)+da(0.0))))/n)))}else{h=da(0.0);e=da(0.0)}m=da(v-t);l=da(w-u);D=da(t+da(m*h));m=da(m*e);w=da(u+da(l*h));l=da(l*e);h=da(D-l);e=da(w+m);l=da(D+l);m=da(w-m);b=$(k[b>>2]|0,d)|0;w=da(k[c+(b<<2)>>2]|0);D=da(k[c+(b+1<<2)>>2]|0);u=da(w-h);v=da(D-e);w=da(w-l);D=da(D-m);c=da(da(da(u*u)+da(0.0))+da(v*v))>2]|0;i=k[a+60>>2]|0;j=(g|0)==(i<<5|0);if(c){do if(j)if((g+1|0)<0)hm(b);else{A=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(A>>>0>>0?c:A):2147483647);A=k[f>>2]|0;break}else A=g;while(0);k[f>>2]=A+1;c=(k[b>>2]|0)+(A>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(A&31)}else{do if(j)if((g+1|0)<0)hm(b);else{B=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(B>>>0>>0?c:B):2147483647);B=k[f>>2]|0;break}else B=g;while(0);k[f>>2]=B+1;c=(k[b>>2]|0)+(B>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(B&31));h=l;e=m}c=~~+N(+(+h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+N(+(+e+.5));k[a+4>>2]=c;r=C;return}function pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Pa,f=0,g=0,h=Pa,i=0,j=0,l=Pa,m=Pa,n=Pa,p=0,q=Pa,s=Pa,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=0,C=0,D=Pa;C=r;r=r+48|0;z=C+24|0;x=C+12|0;y=C;i=a+48|0;f=k[b>>2]|0;b=f+1|0;do if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;if(!((f>>>0)%3|0)){g=f+2|0;break}else{g=f+-1|0;break}}else{g=f;b=f}while(0);f=k[(k[i>>2]|0)+28>>2]|0;b=k[f+(b<<2)>>2]|0;f=k[f+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)gm(g);p=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)gm(g);f=k[j+(f<<2)>>2]|0;b=(p|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+72|0;b=k[i>>2]|0;g=$(b,p)|0}else{if((d|0)>0){i=a+72|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=C;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=C;return}while(0);if((b|0)<=0){r=C;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=C;return}b=a+72|0;j=k[b>>2]|0;i=$(j,p)|0;t=da(k[c+(i<<2)>>2]|0);u=da(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;v=da(k[c+(j<<2)>>2]|0);w=da(k[c+(j+1<<2)>>2]|0);if(!(v!=t|w!=u)){a=k[a+68>>2]|0;k[a>>2]=~~v;k[a+4>>2]=~~w;r=C;return}kg(z,a,d);kg(x,a,p);kg(y,a,f);q=da(o[y>>2]);l=da(o[x>>2]);q=da(q-l);s=da(o[y+4>>2]);m=da(o[x+4>>2]);s=da(s-m);h=da(o[y+8>>2]);e=da(o[x+8>>2]);h=da(h-e);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);e=da(da(o[z+8>>2])-e);n=da(da(da(da(q*q)+da(0.0))+da(s*s))+da(h*h));if(n>da(0.0)?1:(k[a+88>>2]|0)<258){D=da(da(da(da(da(q*l)+da(0.0))+da(s*m))+da(h*e))/n);q=da(l-da(q*D));s=da(m-da(s*D));e=da(e-da(h*D));h=D;e=da(P(da(da(da(e*e)+da(da(s*s)+da(da(q*q)+da(0.0))))/n)))}else{h=da(0.0);e=da(0.0)}m=da(v-t);l=da(w-u);D=da(t+da(m*h));m=da(m*e);w=da(u+da(l*h));l=da(l*e);h=da(D-l);e=da(w+m);l=da(D+l);m=da(w-m);b=$(k[b>>2]|0,d)|0;w=da(k[c+(b<<2)>>2]|0);D=da(k[c+(b+1<<2)>>2]|0);u=da(w-h);v=da(D-e);w=da(w-l);D=da(D-m);c=da(da(da(u*u)+da(0.0))+da(v*v))>2]|0;i=k[a+84>>2]|0;j=(g|0)==(i<<5|0);if(c){do if(j)if((g+1|0)<0)hm(b);else{A=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(A>>>0>>0?c:A):2147483647);A=k[f>>2]|0;break}else A=g;while(0);k[f>>2]=A+1;c=(k[b>>2]|0)+(A>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(A&31)}else{do if(j)if((g+1|0)<0)hm(b);else{B=i<<6;c=g+32&-32;Xg(b,i<<5>>>0<1073741823?(B>>>0>>0?c:B):2147483647);B=k[f>>2]|0;break}else B=g;while(0);k[f>>2]=B+1;c=(k[b>>2]|0)+(B>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(B&31));h=l;e=m}c=~~+N(+(+h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+N(+(+e+.5));k[a+4>>2]=c;r=C;return}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=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;F=r;r=r+64|0;E=F;p=E;q=p+40|0;do{k[p>>2]=0;p=p+4|0}while((p|0)<(q|0));a:do if(((we(E,c)|0?(e=c+8|0,o=k[e>>2]|0,e=k[e+4>>2]|0,f=c+16|0,h=f,g=k[h>>2]|0,h=sl(g|0,k[h+4>>2]|0,8,0)|0,j=M,!((e|0)<(j|0)|(e|0)==(j|0)&o>>>0>>0)):0)?(m=k[c>>2]|0,n=m+g|0,u=n,u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24,n=n+4|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,D=f,k[D>>2]=h,k[D+4>>2]=j,D=al(o|0,e|0,h|0,j|0)|0,C=M,!(n>>>0>C>>>0|(n|0)==(C|0)&u>>>0>D>>>0)):0)?(v=m+h|0,C=sl(u|0,n|0,h|0,j|0)|0,D=f,k[D>>2]=C,k[D+4>>2]=M,(u|0)>=1):0){D=E+40|0;k[D>>2]=v;e=u+-1|0;f=v+e|0;switch((l[f>>0]|0)>>>6&3){case 0:{k[E+44>>2]=e;t=l[f>>0]&63;s=E+48|0;k[s>>2]=t;break}case 1:{if((u|0)<2){j=0;break a}k[E+44>>2]=u+-2;t=v+u+-2|0;t=l[t+1>>0]<<8&16128|l[t>>0];s=E+48|0;k[s>>2]=t;break}case 2:{if((u|0)<3){j=0;break a}k[E+44>>2]=u+-3;t=v+u+-3|0;t=l[t+1>>0]<<8|l[t>>0]|l[t+2>>0]<<16&4128768;s=E+48|0;k[s>>2]=t;break}case 3:{k[E+44>>2]=u+-4;t=v+u+-4|0;t=l[t+2>>0]<<16|l[t+3>>0]<<24&1056964608|l[t+1>>0]<<8|l[t>>0];s=E+48|0;k[s>>2]=t;break}default:{}}C=t+16384|0;k[s>>2]=C;if(C>>>0<=4194303){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){j=0;break a}ig(c,0,0)|0;if(e){u=E+48|0;v=E+44|0;w=E+16|0;x=E+28|0;y=(b|0)>0;C=c+36|0;z=c+32|0;A=c+24|0;B=c+28|0;t=0;e=0;f=k[u>>2]|0;while(1){c:do if(f>>>0<16384){g=k[v>>2]|0;do{if((g|0)<=0)break c;g=g+-1|0;k[v>>2]=g;f=l[(k[D>>2]|0)+g>>0]|f<<8;k[u>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[w>>2]|0)+(p<<2)>>2]|0;q=k[x>>2]|0;f=($(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[u>>2]=f;if(y){q=(s|0)>0;if((s|0)<=-1){e=33;break}if((s|0)<33)p=0;else{e=32;break}while(1){if(!(i[C>>0]|0)){j=0;break a}if(q){n=k[A>>2]|0;o=k[B>>2]|0;g=0;m=0;j=k[z>>2]|0;do{h=n+(j>>>3)|0;if(h>>>0>>0){h=(l[h>>0]|0)>>>(j&7)&1;j=j+1|0;k[z>>2]=j}else h=0;g=h<>2]=g;p=p+1|0;if((p|0)>=(b|0)){e=h;break}else e=h}}t=t+b|0;if((t|0)>=(a|0))break b}if((e|0)==32){if(!(i[C>>0]|0)){j=0;break a}Ka(6776,6749,113,6768)}else if((e|0)==33){if(!(i[C>>0]|0)){j=0;break a}Ka(6734,6749,112,6768)}}}else ig(c,0,0)|0;while(0);Oj(c);j=1}else j=0}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);cn(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=F;return j|0}function rc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;i=o+4|0;h=o;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;l=a+4|0;j=k[l>>2]|0;n=k[j>>2]|0;j=j+4|0;k[l>>2]=j;m=a+8|0;h=k[m>>2]|0;i=a+12|0;g=k[i>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{Wj(e|0,j|0,b|0)|0;b=k[l>>2]|0}a=e+(c<<2)|0;k[m>>2]=a;k[l>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Om(o);xa(o|0,1024,93)}e=xk(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((j|0)==(h|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[l>>2]=g;k[m>>2]=b;k[i>>2]=e;if(c){cn(c);b=k[m>>2]|0}}else b=h;while(0);k[b>>2]=n;k[m>>2]=(k[m>>2]|0)+4;r=o;return}n=a+8|0;b=k[n>>2]|0;m=a+4|0;e=b-(k[m>>2]|0)|0;l=a+12|0;c=k[l>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;k[i+12>>2]=0;k[i+16>>2]=a+12;if(b>>>0>1073741823){o=Ma(4)|0;Om(o);xa(o|0,1024,93)}j=xk(b<<2)|0;k[i>>2]=j;f=j+(e>>2<<2)|0;g=i+8|0;k[g>>2]=f;e=i+4|0;k[e>>2]=f;f=i+12|0;k[f>>2]=j+(b<<2);b=xk(4096)|0;k[h>>2]=b;Yf(i,h);b=k[n>>2]|0;while(1){d=k[m>>2]|0;if((b|0)==(d|0))break;j=b+-4|0;Pf(i,j);b=j}c=k[a>>2]|0;k[a>>2]=k[i>>2];k[i>>2]=c;k[m>>2]=k[e>>2];k[e>>2]=d;b=k[n>>2]|0;k[n>>2]=k[g>>2];k[g>>2]=b;a=k[l>>2]|0;k[l>>2]=k[f>>2];k[f>>2]=a;if((b|0)!=(d|0))k[g>>2]=b+(~((b+-4-d|0)>>>2)<<2);if(c|0)cn(c);r=o;return}if((c|0)!=(b|0)){n=xk(4096)|0;k[i>>2]=n;Yf(a,i);r=o;return}j=xk(4096)|0;k[i>>2]=j;Pf(a,i);i=k[m>>2]|0;j=k[i>>2]|0;i=i+4|0;k[m>>2]=i;h=k[n>>2]|0;g=k[l>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(i>>>0>c>>>0){b=i;d=((b-d>>2)+1|0)/-2|0;e=i+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=i;else{Wj(e|0,i|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[n>>2]=a;k[m>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=Ma(4)|0;Om(o);xa(o|0,1024,93)}e=xk(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((i|0)==(h|0))b=g;else{b=g;c=i;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=g;k[n>>2]=b;k[l>>2]=e;if(c){cn(c);b=k[n>>2]|0}}else b=h;while(0);k[b>>2]=j;k[n>>2]=(k[n>>2]|0)+4;r=o;return}function sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+32|0;s=x;t=x+24|0;o=x+28|0;u=x+12|0;p=x+8|0;v=k[a>>2]|0;w=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;w=sl(c|0,v|0,k[w>>2]|0,k[w+4>>2]|0)|0;m=M;m=sl((w|0)==0&(m|0)==0&1|0,0,w|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(M>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[o>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[u>>2]=0;w=u+4|0;k[w>>2]=0;k[u+8>>2]=0;if(!c)n=0;else{if((c|0)<0)hm(u);d=xk(c)|0;k[w>>2]=d;k[u>>2]=d;k[u+8>>2]=d+c;do{i[d>>0]=0;d=(k[w>>2]|0)+1|0;k[w>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[u>>2]|0}q=a+28|0;c=(k[q>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;e=4096;d=0;do{h=i[o>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+d>>0]=e;d=d+1|0;e=e>>>8}uk(k[1088+(h<<3)>>2]|0,0,e|0,0)|0;e=e+(g?0:f&255)+($((M+e|0)>>>(k[1088+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1);c=e}else{c=4096;d=0}e=k[v>>2]|0;if((e|0)==(k[m>>2]|0))f=c;else{do{e=e+-4|0;l=k[e>>2]|0;j=31;while(1){h=i[o>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+d>>0]=c;d=d+1|0;c=c>>>8}uk(k[1088+(h<<3)>>2]|0,0,c|0,0)|0;c=c+(g?0:f&255)+($((M+c|0)>>>(k[1088+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)<=0)break;else j=j+-1|0}}while((e|0)!=(k[m>>2]|0));f=c}if(f>>>0<=4095)Ka(6557,6587,132,6600);if(f>>>0>=1048576)Ka(6614,6587,133,6600);e=f+-4096|0;do if(e>>>0>=64){c=n+d|0;if(e>>>0<16384){f=f+12288|0;i[c>>0]=f;i[c+1>>0]=f>>>8;f=d+2|0;break}else{f=f+8384512|0;i[c>>0]=f;i[c+1>>0]=f>>>8;i[c+2>>0]=f>>>16;f=d+3|0;break}}else{i[n+d>>0]=e;f=d+1|0}while(0);c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Ke(b,s,o,o+1|0)|0;d=c;e=k[d+4>>2]|0;d=k[d>>2]|0}k[p>>2]=f;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Ke(b,s,p,p+4|0)|0;d=c;e=k[d+4>>2]|0;d=k[d>>2]|0}c=k[u>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Ke(b,s,c,c+f|0)|0}c=s;k[c>>2]=0;k[c+4>>2]=0;nf(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[q>>2]=0;c=k[u>>2]|0;if(!c){r=x;return}if((k[w>>2]|0)!=(c|0))k[w>>2]=c;cn(c);r=x;return}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=0,l=Pa,m=Pa,n=Pa,p=Pa,q=Pa,s=0,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=Pa;A=r;r=r+48|0;z=A+24|0;x=A+12|0;y=A;f=a+24|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((e|0)<0)j=-1073741824;else j=k[(k[k[f>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}else{j=-1073741824;b=-1073741824}e=k[a+28>>2]|0;f=k[e+4>>2]|0;h=k[e>>2]|0;if(f-h>>2>>>0<=b>>>0)gm(e);s=k[h+(b<<2)>>2]|0;if(f-h>>2>>>0<=j>>>0)gm(e);e=k[h+(j<<2)>>2]|0;b=(s|0)<(d|0);if(b&(e|0)<(d|0)){j=k[a+48>>2]|0;h=$(j,s)|0;u=da(k[c+(h<<2)>>2]|0);v=da(k[c+(h+1<<2)>>2]|0);j=$(j,e)|0;w=da(k[c+(j<<2)>>2]|0);t=da(k[c+(j+1<<2)>>2]|0);if(!(w!=u|t!=v)){a=k[a+44>>2]|0;k[a>>2]=~~w;k[a+4>>2]=~~t;r=A;return}jg(z,a,d);jg(x,a,s);jg(y,a,e);p=da(o[y>>2]);l=da(o[x>>2]);p=da(p-l);q=da(o[y+4>>2]);m=da(o[x+4>>2]);q=da(q-m);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);g=da(da(o[z+8>>2])-g);n=da(da(da(da(p*p)+da(0.0))+da(q*q))+da(i*i));if(n>da(0.0)?1:(k[a+64>>2]|0)<258){B=da(da(da(da(da(p*l)+da(0.0))+da(q*m))+da(i*g))/n);p=da(l-da(p*B));q=da(m-da(q*B));g=da(g-da(i*B));i=B;g=da(P(da(da(da(g*g)+da(da(q*q)+da(da(p*p)+da(0.0))))/n)))}else{i=da(0.0);g=da(0.0)}B=da(w-u);w=da(t-v);t=da(u+da(B*i));B=da(B*g);u=da(v+da(w*i));v=da(w*g);c=a+56|0;y=(k[c>>2]|0)+-1|0;z=(1<<(y&31)&k[(k[a+52>>2]|0)+(y>>>5<<2)>>2]|0)==0;k[c>>2]=y;w=da(-v);w=da(t+(z?v:w));v=da(-B);B=da(u+(z?v:B));z=~~+N(+(+w+.5));a=k[a+44>>2]|0;k[a>>2]=z;z=~~+N(+(+B+.5));k[a+4>>2]=z;r=A;return}do if(b){h=a+48|0;b=k[h>>2]|0;f=$(b,s)|0}else{if((d|0)>0){h=a+48|0;b=k[h>>2]|0;f=$(b,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=A;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=A;return}while(0);if((b|0)<=0){r=A;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));r=A;return}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+16|0;q=v+8|0;s=v+4|0;t=v;u=a+64|0;b=k[u>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)<=0){r=v;return}h=a+52|0;i=a+56|0;j=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;c=0;g=0;do{e=k[(k[b+24>>2]|0)+(g<<2)>>2]|0;if((e|0)>=0){d=c+1|0;k[q>>2]=c;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))xh(h,q);else{k[b>>2]=c;k[i>>2]=b+4}k[s>>2]=e;k[t>>2]=0;a:do if(!(k[(k[l>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))b=e;else{b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;f=k[a>>2]|0;if(!(1<<(b&31)&k[f+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[u>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[t>>2]=b;if((b|0)<=-1){b=e;break}while(1){k[s>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[f+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[u>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e;k[t>>2]=c;if((c|0)>-1)b=c;else break a}k[t>>2]=c;break}}}else b=-1073741824;k[t>>2]=b;b=e}while(0);k[(k[m>>2]|0)+(b<<2)>>2]=k[q>>2];b=k[o>>2]|0;if((b|0)==(k[p>>2]|0))xh(n,s);else{k[b>>2]=k[s>>2];k[o>>2]=b+4}b=k[u>>2]|0;e=k[s>>2]|0;b:do if((e|0)>=0){c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[t>>2]=c;if((c|0)>-1&(c|0)!=(e|0)){while(1){f=c+1|0;f=((f|0)%3|0|0)==0?c+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){c=d+1|0;k[q>>2]=d;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))xh(h,q);else{k[b>>2]=d;k[i>>2]=b+4}b=k[o>>2]|0;if((b|0)==(k[p>>2]|0)){xh(n,t);d=c;break}else{k[b>>2]=k[t>>2];k[o>>2]=b+4;d=c;break}}while(0);k[(k[m>>2]|0)+(k[t>>2]<<2)>>2]=k[q>>2];b=k[u>>2]|0;c=k[t>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[t>>2]=c;if(!((c|0)>-1?(c|0)!=(k[s>>2]|0):0)){c=d;break b}}k[t>>2]=c;c=d}else c=d}else w=26}else w=26}else{c=e;w=26}while(0);if((w|0)==26){w=0;k[t>>2]=c;c=d}}g=g+1|0}while((g|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0));r=v;return}function vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=0,l=Pa,m=Pa,n=Pa,p=Pa,q=Pa,s=0,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=Pa;A=r;r=r+48|0;z=A+24|0;x=A+12|0;y=A;f=a+48|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((e|0)<0)j=-1073741824;else j=k[(k[k[f>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}else{j=-1073741824;b=-1073741824}e=k[a+52>>2]|0;f=k[e+4>>2]|0;h=k[e>>2]|0;if(f-h>>2>>>0<=b>>>0)gm(e);s=k[h+(b<<2)>>2]|0;if(f-h>>2>>>0<=j>>>0)gm(e);e=k[h+(j<<2)>>2]|0;b=(s|0)<(d|0);if(b&(e|0)<(d|0)){j=k[a+72>>2]|0;h=$(j,s)|0;u=da(k[c+(h<<2)>>2]|0);v=da(k[c+(h+1<<2)>>2]|0);j=$(j,e)|0;w=da(k[c+(j<<2)>>2]|0);t=da(k[c+(j+1<<2)>>2]|0);if(!(w!=u|t!=v)){a=k[a+68>>2]|0;k[a>>2]=~~w;k[a+4>>2]=~~t;r=A;return}kg(z,a,d);kg(x,a,s);kg(y,a,e);p=da(o[y>>2]);l=da(o[x>>2]);p=da(p-l);q=da(o[y+4>>2]);m=da(o[x+4>>2]);q=da(q-m);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);g=da(da(o[z+8>>2])-g);n=da(da(da(da(p*p)+da(0.0))+da(q*q))+da(i*i));if(n>da(0.0)?1:(k[a+88>>2]|0)<258){B=da(da(da(da(da(p*l)+da(0.0))+da(q*m))+da(i*g))/n);p=da(l-da(p*B));q=da(m-da(q*B));g=da(g-da(i*B));i=B;g=da(P(da(da(da(g*g)+da(da(q*q)+da(da(p*p)+da(0.0))))/n)))}else{i=da(0.0);g=da(0.0)}B=da(w-u);w=da(t-v);t=da(u+da(B*i));B=da(B*g);u=da(v+da(w*i));v=da(w*g);c=a+80|0;y=(k[c>>2]|0)+-1|0;z=(1<<(y&31)&k[(k[a+76>>2]|0)+(y>>>5<<2)>>2]|0)==0;k[c>>2]=y;w=da(-v);w=da(t+(z?v:w));v=da(-B);B=da(u+(z?v:B));z=~~+N(+(+w+.5));a=k[a+68>>2]|0;k[a>>2]=z;z=~~+N(+(+B+.5));k[a+4>>2]=z;r=A;return}do if(b){h=a+72|0;b=k[h>>2]|0;f=$(b,s)|0}else{if((d|0)>0){h=a+72|0;b=k[h>>2]|0;f=$(b,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=A;return}while(0);if((b|0)<=0){r=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));r=A;return}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=da(0.0);c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;m=a;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[c>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[c+4>>2]=a;c=1;r=n;return c|0}case 3:{j=a+48|0;m=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,m|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=a;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;m=c;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;c=c+4|0;i[c>>0]=a;i[c+1>>0]=a>>8;i[c+2>>0]=a>>16;i[c+3>>0]=a>>24;c=1;r=n;return c|0}case 4:{j=a+48|0;m=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;a=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,m|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=a;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;m=c;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;c=c+4|0;i[c>>0]=a;i[c+1>>0]=a>>8;i[c+2>>0]=a>>16;i[c+3>>0]=a>>24;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=de(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=ce(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=Kd(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=Gd(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=yd(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=Ad(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function xc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(13387,13403,54,13431);f=k[g+4>>2]|0;if(((k[g+8>>2]|0)-f>>2|0)<=(c|0))Ka(13441,13403,55,13431);i=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<4&(Va[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;j=Za[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;if((h|0)==0|(j|0)==0){d=0;return d|0}f=Za[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;g=k[a+28>>2]|0;a=j+12|0;if(!f)switch(b|0){case 1:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=h;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4528;d=e;return d|0}case 2:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=h;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4592;d=e;return d|0}case 4:{c=xk(88)|0;k[c+4>>2]=i;f=c+8|0;k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];k[c+20>>2]=g;k[c+24>>2]=h;k[c+28>>2]=a;k[c+32>>2]=j;k[c>>2]=4656;f=c+36|0;g=f+52|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));d=c;return d|0}case 3:{b=xk(68)|0;k[b+4>>2]=i;i=b+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[b+20>>2]=g;k[b+24>>2]=h;k[b+28>>2]=a;k[b+32>>2]=j;k[b>>2]=4720;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[b+64>>2]=e&65535;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=f;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4272;d=e;return d|0}case 2:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=f;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4336;d=e;return d|0}case 4:{c=xk(88)|0;k[c+4>>2]=i;e=c+8|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[c+20>>2]=g;k[c+24>>2]=f;k[c+28>>2]=a;k[c+32>>2]=j;k[c>>2]=4400;f=c+36|0;g=f+52|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));d=c;return d|0}case 3:{b=xk(68)|0;k[b+4>>2]=i;i=b+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[b+20>>2]=g;k[b+24>>2]=f;k[b+28>>2]=a;k[b+32>>2]=j;k[b>>2]=4464;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[b+64>>2]=e&65535;d=b;return d|0}default:{d=0;return d|0}}return 0}function yc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=k[a+4>>2]|0;if((c|0)<=-1)Ka(13387,13403,54,13431);f=k[g+4>>2]|0;if(((k[g+8>>2]|0)-f>>2|0)<=(c|0))Ka(13441,13403,55,13431);i=k[f+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<4&(Va[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;j=Za[k[(k[a>>2]|0)+44>>2]&127](a,c)|0;if((h|0)==0|(j|0)==0){d=0;return d|0}f=Za[k[(k[a>>2]|0)+40>>2]&127](a,c)|0;g=k[a+28>>2]|0;a=j+12|0;if(!f)switch(b|0){case 1:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=h;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=5104;d=e;return d|0}case 2:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=h;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=5168;d=e;return d|0}case 4:{c=xk(88)|0;k[c+4>>2]=i;f=c+8|0;k[f>>2]=k[d>>2];k[f+4>>2]=k[d+4>>2];k[f+8>>2]=k[d+8>>2];k[c+20>>2]=g;k[c+24>>2]=h;k[c+28>>2]=a;k[c+32>>2]=j;k[c>>2]=5232;f=c+36|0;g=f+52|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));d=c;return d|0}case 3:{b=xk(68)|0;k[b+4>>2]=i;i=b+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[b+20>>2]=g;k[b+24>>2]=h;k[b+28>>2]=a;k[b+32>>2]=j;k[b>>2]=5296;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[b+64>>2]=e&65535;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=f;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4848;d=e;return d|0}case 2:{e=xk(36)|0;k[e+4>>2]=i;i=e+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[e+20>>2]=g;k[e+24>>2]=f;k[e+28>>2]=a;k[e+32>>2]=j;k[e>>2]=4912;d=e;return d|0}case 4:{c=xk(88)|0;k[c+4>>2]=i;e=c+8|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[c+20>>2]=g;k[c+24>>2]=f;k[c+28>>2]=a;k[c+32>>2]=j;k[c>>2]=4976;f=c+36|0;g=f+52|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));d=c;return d|0}case 3:{b=xk(68)|0;k[b+4>>2]=i;i=b+8|0;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];k[b+20>>2]=g;k[b+24>>2]=f;k[b+28>>2]=a;k[b+32>>2]=j;k[b>>2]=5040;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[b+64>>2]=e&65535;d=b;return d|0}default:{d=0;return d|0}}return 0}function zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=0,l=Pa,m=Pa,n=Pa,p=Pa,q=Pa,s=0,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=Pa;A=r;r=r+48|0;z=A+24|0;x=A+12|0;y=A;h=a+24|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);h=k[(k[h>>2]|0)+28>>2]|0;e=k[h+(b<<2)>>2]|0;b=k[h+(f<<2)>>2]|0;f=k[a+28>>2]|0;h=k[f+4>>2]|0;j=k[f>>2]|0;if(h-j>>2>>>0<=e>>>0)gm(f);s=k[j+(e<<2)>>2]|0;if(h-j>>2>>>0<=b>>>0)gm(f);e=k[j+(b<<2)>>2]|0;b=(s|0)<(d|0);if(b&(e|0)<(d|0)){j=k[a+48>>2]|0;h=$(j,s)|0;u=da(k[c+(h<<2)>>2]|0);v=da(k[c+(h+1<<2)>>2]|0);j=$(j,e)|0;w=da(k[c+(j<<2)>>2]|0);t=da(k[c+(j+1<<2)>>2]|0);if(!(w!=u|t!=v)){a=k[a+44>>2]|0;k[a>>2]=~~w;k[a+4>>2]=~~t;r=A;return}jg(z,a,d);jg(x,a,s);jg(y,a,e);p=da(o[y>>2]);l=da(o[x>>2]);p=da(p-l);q=da(o[y+4>>2]);m=da(o[x+4>>2]);q=da(q-m);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);g=da(da(o[z+8>>2])-g);n=da(da(da(da(p*p)+da(0.0))+da(q*q))+da(i*i));if(n>da(0.0)?1:(k[a+64>>2]|0)<258){B=da(da(da(da(da(p*l)+da(0.0))+da(q*m))+da(i*g))/n);p=da(l-da(p*B));q=da(m-da(q*B));g=da(g-da(i*B));i=B;g=da(P(da(da(da(g*g)+da(da(q*q)+da(da(p*p)+da(0.0))))/n)))}else{i=da(0.0);g=da(0.0)}B=da(w-u);w=da(t-v);t=da(u+da(B*i));B=da(B*g);u=da(v+da(w*i));v=da(w*g);c=a+56|0;y=(k[c>>2]|0)+-1|0;z=(1<<(y&31)&k[(k[a+52>>2]|0)+(y>>>5<<2)>>2]|0)==0;k[c>>2]=y;w=da(-v);w=da(t+(z?v:w));v=da(-B);B=da(u+(z?v:B));z=~~+N(+(+w+.5));a=k[a+44>>2]|0;k[a>>2]=z;z=~~+N(+(+B+.5));k[a+4>>2]=z;r=A;return}do if(b){h=a+48|0;b=k[h>>2]|0;f=$(b,s)|0}else{if((d|0)>0){h=a+48|0;b=k[h>>2]|0;f=$(b,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=A;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=A;return}while(0);if((b|0)<=0){r=A;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));r=A;return}function Ac(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Pa,h=0,i=Pa,j=0,l=Pa,m=Pa,n=Pa,p=Pa,q=Pa,s=0,t=Pa,u=Pa,v=Pa,w=Pa,x=0,y=0,z=0,A=0,B=Pa;A=r;r=r+48|0;z=A+24|0;x=A+12|0;y=A;h=a+48|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);h=k[(k[h>>2]|0)+28>>2]|0;e=k[h+(b<<2)>>2]|0;b=k[h+(f<<2)>>2]|0;f=k[a+52>>2]|0;h=k[f+4>>2]|0;j=k[f>>2]|0;if(h-j>>2>>>0<=e>>>0)gm(f);s=k[j+(e<<2)>>2]|0;if(h-j>>2>>>0<=b>>>0)gm(f);e=k[j+(b<<2)>>2]|0;b=(s|0)<(d|0);if(b&(e|0)<(d|0)){j=k[a+72>>2]|0;h=$(j,s)|0;u=da(k[c+(h<<2)>>2]|0);v=da(k[c+(h+1<<2)>>2]|0);j=$(j,e)|0;w=da(k[c+(j<<2)>>2]|0);t=da(k[c+(j+1<<2)>>2]|0);if(!(w!=u|t!=v)){a=k[a+68>>2]|0;k[a>>2]=~~w;k[a+4>>2]=~~t;r=A;return}kg(z,a,d);kg(x,a,s);kg(y,a,e);p=da(o[y>>2]);l=da(o[x>>2]);p=da(p-l);q=da(o[y+4>>2]);m=da(o[x+4>>2]);q=da(q-m);i=da(o[y+8>>2]);g=da(o[x+8>>2]);i=da(i-g);l=da(da(o[z>>2])-l);m=da(da(o[z+4>>2])-m);g=da(da(o[z+8>>2])-g);n=da(da(da(da(p*p)+da(0.0))+da(q*q))+da(i*i));if(n>da(0.0)?1:(k[a+88>>2]|0)<258){B=da(da(da(da(da(p*l)+da(0.0))+da(q*m))+da(i*g))/n);p=da(l-da(p*B));q=da(m-da(q*B));g=da(g-da(i*B));i=B;g=da(P(da(da(da(g*g)+da(da(q*q)+da(da(p*p)+da(0.0))))/n)))}else{i=da(0.0);g=da(0.0)}B=da(w-u);w=da(t-v);t=da(u+da(B*i));B=da(B*g);u=da(v+da(w*i));v=da(w*g);c=a+80|0;y=(k[c>>2]|0)+-1|0;z=(1<<(y&31)&k[(k[a+76>>2]|0)+(y>>>5<<2)>>2]|0)==0;k[c>>2]=y;w=da(-v);w=da(t+(z?v:w));v=da(-B);B=da(u+(z?v:B));z=~~+N(+(+w+.5));a=k[a+68>>2]|0;k[a>>2]=z;z=~~+N(+(+B+.5));k[a+4>>2]=z;r=A;return}do if(b){h=a+72|0;b=k[h>>2]|0;f=$(b,s)|0}else{if((d|0)>0){h=a+72|0;b=k[h>>2]|0;f=$(b,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=A;return}while(0);if((b|0)<=0){r=A;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[h>>2]|0));r=A;return}function Bc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;t=1-g+f|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){jh(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);d=d-e|0;if((d|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;m=d;d=k[u>>2]|0;do{l=b+(m<<2)|0;j=l+(n<<2)|0;if((d|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;d=k[o>>2]|0;do if((h|0)<=(d|0)){d=k[q>>2]|0;f=k[p>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[p>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=c+(g+m<<2)|0;f=k[d>>2]|0;if((f|0)>=(k[r>>2]|0)){if((f|0)>(k[t>>2]|0))k[d>>2]=f-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+f;g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0))}}}m=m-e|0}while((m|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=$m(e)|0;Vi(n|0,0,e|0)|0;if((d|0)<=0){an(n);return 1}j=a+16|0;l=a+32|0;m=a+12|0;i=0;do{h=k[n+(i<<2)>>2]|0;d=k[j>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[l>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[l>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0)d=0;else{an(n);return 1}do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)-(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[u>>2]|0}while((d|0)<(f|0));if((f|0)<=0){an(n);return 1}i=a+28|0;j=a+20|0;f=a+24|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[i>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[j>>2]|0)}else k[g>>2]=(k[j>>2]|0)+h;d=d+1|0}while((d|0)<(k[u>>2]|0));an(n);return 1}function Cc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=a+8|0;k[y>>2]=e;z=k[a+24>>2]|0;v=k[a+28>>2]|0;r=e>>>0>1073741823?-1:e<<2;w=$m(r)|0;Vi(w|0,0,r|0)|0;x=$m(r)|0;Vi(x|0,0,r|0)|0;r=a+32|0;g=k[r>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){s=(e|0)>0;t=z+12|0;u=e<<2;q=d>>2;d=g;while(1){p=q+-1|0;if(a-f>>2>>>0<=p>>>0)break;o=k[f+(p<<2)>>2]|0;if(s)Vi(w|0,0,u|0)|0;if((o|0)>-1){n=k[t>>2]|0;a=0;m=o;do{f=k[n+(m<<2)>>2]|0;if((f|0)>=0){h=k[z>>2]|0;g=(f>>>0)%3|0;i=k[v>>2]|0;l=k[i+(k[h+(((f>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;d=f+1|0;d=((d|0)%3|0|0)==0?f+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;j=k[i+(d<<2)>>2]|0;d=((g|0)==0?2:-1)+f|0;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=k[i+(d<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(d|0)<(p|0)){h=$(l,e)|0;g=$(j,e)|0;f=$(d,e)|0;if(s){d=0;do{k[x+(d<<2)>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(s){d=0;do{l=w+(d<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}a=a+1|0}}d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d}while((m|0)>-1);d=$(p,e)|0;if(!a)B=32;else{if(s){f=0;do{q=w+(f<<2)|0;k[q>>2]=(k[q>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}Ze(y,b+(d<<2)|0,w,c,d)}}else{d=$(p,e)|0;B=32}if((B|0)==32){B=0;Ze(y,b+(d<<2)|0,b+(($(q+-2|0,e)|0)<<2)|0,c,d)}if((p|0)<=1){A=w;break a}d=k[r>>2]|0;q=p;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else A=w;while(0);if((e|0)<=0){Ze(y,b,A,c,0);an(x);an(w);return 1}Vi(w|0,0,e<<2|0)|0;Ze(y,b,A,c,0);an(x);an(w);return 1}function Dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=a+8|0;k[y>>2]=e;z=k[a+24>>2]|0;v=k[a+28>>2]|0;r=e>>>0>1073741823?-1:e<<2;w=$m(r)|0;Vi(w|0,0,r|0)|0;x=$m(r)|0;Vi(x|0,0,r|0)|0;r=a+32|0;g=k[r>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){s=(e|0)>0;t=z+12|0;u=e<<2;q=d>>2;d=g;while(1){p=q+-1|0;if(a-f>>2>>>0<=p>>>0)break;o=k[f+(p<<2)>>2]|0;if(s)Vi(w|0,0,u|0)|0;if((o|0)>-1){n=k[t>>2]|0;a=0;m=o;do{f=k[n+(m<<2)>>2]|0;if((f|0)>=0){h=k[z>>2]|0;g=(f>>>0)%3|0;i=k[v>>2]|0;l=k[i+(k[h+(((f>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;d=f+1|0;d=((d|0)%3|0|0)==0?f+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;j=k[i+(d<<2)>>2]|0;d=((g|0)==0?2:-1)+f|0;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=k[i+(d<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(d|0)<(p|0)){h=$(l,e)|0;g=$(j,e)|0;f=$(d,e)|0;if(s){d=0;do{k[x+(d<<2)>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(s){d=0;do{l=w+(d<<2)|0;k[l>>2]=(k[l>>2]|0)+(k[x+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}a=a+1|0}}d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d}while((m|0)>-1);d=$(p,e)|0;if(!a)B=32;else{if(s){f=0;do{q=w+(f<<2)|0;k[q>>2]=(k[q>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}cf(y,b+(d<<2)|0,w,c,d)}}else{d=$(p,e)|0;B=32}if((B|0)==32){B=0;cf(y,b+(d<<2)|0,b+(($(q+-2|0,e)|0)<<2)|0,c,d)}if((p|0)<=1){A=w;break a}d=k[r>>2]|0;q=p;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else A=w;while(0);if((e|0)<=0){cf(y,b,A,c,0);an(x);an(w);return 1}Vi(w|0,0,e<<2|0)|0;cf(y,b,A,c,0);an(x);an(w);return 1}function Ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;w=a+8|0;k[w>>2]=e;x=k[a+24>>2]|0;t=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;u=$m(o)|0;Vi(u|0,0,o|0)|0;v=$m(o)|0;Vi(v|0,0,o|0)|0;o=a+32|0;g=k[o>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){p=(e|0)>0;q=x+64|0;r=x+28|0;s=e<<2;n=d>>2;d=g;while(1){m=n+-1|0;if(a-f>>2>>>0<=m>>>0)break;l=k[f+(m<<2)>>2]|0;if(p)Vi(u|0,0,s|0)|0;if((l|0)>-1){j=k[x>>2]|0;h=0;i=l;do{if(((k[j+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(z=k[(k[(k[q>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(z|0)>=0):0)?(C=k[r>>2]|0,g=k[t>>2]|0,A=k[g+(k[C+(z<<2)>>2]<<2)>>2]|0,B=z+1|0,B=k[g+(k[C+((((B|0)%3|0|0)==0?z+-2|0:B)<<2)>>2]<<2)>>2]|0,C=k[g+(k[C+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){f=$(A,e)|0;a=$(B,e)|0;g=$(C,e)|0;if(p){d=0;do{k[v+(d<<2)>>2]=(k[b+(d+g<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+f<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(p){d=0;do{g=u+(d<<2)|0;k[g>>2]=(k[g>>2]|0)+(k[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=h+1|0}d=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if(!(k[j+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=k[(k[(k[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);i=(d|0)==(l|0)?-1073741824:d}while((i|0)>-1);d=$(m,e)|0;if(!h)D=30;else{if(p){f=0;do{n=u+(f<<2)|0;k[n>>2]=(k[n>>2]|0)/(h|0)|0;f=f+1|0}while((f|0)!=(e|0))}Ze(w,b+(d<<2)|0,u,c,d)}}else{d=$(m,e)|0;D=30}if((D|0)==30){D=0;Ze(w,b+(d<<2)|0,b+(($(n+-2|0,e)|0)<<2)|0,c,d)}if((m|0)<=1){y=u;break a}d=k[o>>2]|0;n=m;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else y=u;while(0);if((e|0)<=0){Ze(w,b,y,c,0);an(v);an(u);return 1}Vi(u|0,0,e<<2|0)|0;Ze(w,b,y,c,0);an(v);an(u);return 1}function Fc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;w=a+8|0;k[w>>2]=e;x=k[a+24>>2]|0;t=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;u=$m(o)|0;Vi(u|0,0,o|0)|0;v=$m(o)|0;Vi(v|0,0,o|0)|0;o=a+32|0;g=k[o>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){p=(e|0)>0;q=x+64|0;r=x+28|0;s=e<<2;n=d>>2;d=g;while(1){m=n+-1|0;if(a-f>>2>>>0<=m>>>0)break;l=k[f+(m<<2)>>2]|0;if(p)Vi(u|0,0,s|0)|0;if((l|0)>-1){j=k[x>>2]|0;h=0;i=l;do{if(((k[j+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(z=k[(k[(k[q>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(z|0)>=0):0)?(C=k[r>>2]|0,g=k[t>>2]|0,A=k[g+(k[C+(z<<2)>>2]<<2)>>2]|0,B=z+1|0,B=k[g+(k[C+((((B|0)%3|0|0)==0?z+-2|0:B)<<2)>>2]<<2)>>2]|0,C=k[g+(k[C+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){f=$(A,e)|0;a=$(B,e)|0;g=$(C,e)|0;if(p){d=0;do{k[v+(d<<2)>>2]=(k[b+(d+g<<2)>>2]|0)+(k[b+(d+a<<2)>>2]|0)-(k[b+(d+f<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(p){d=0;do{g=u+(d<<2)|0;k[g>>2]=(k[g>>2]|0)+(k[v+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=h+1|0}d=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if(!(k[j+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=k[(k[(k[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);i=(d|0)==(l|0)?-1073741824:d}while((i|0)>-1);d=$(m,e)|0;if(!h)D=30;else{if(p){f=0;do{n=u+(f<<2)|0;k[n>>2]=(k[n>>2]|0)/(h|0)|0;f=f+1|0}while((f|0)!=(e|0))}cf(w,b+(d<<2)|0,u,c,d)}}else{d=$(m,e)|0;D=30}if((D|0)==30){D=0;cf(w,b+(d<<2)|0,b+(($(n+-2|0,e)|0)<<2)|0,c,d)}if((m|0)<=1){y=u;break a}d=k[o>>2]|0;n=m;f=k[d>>2]|0;a=k[d+4>>2]|0}gm(d)}else y=u;while(0);if((e|0)<=0){cf(w,b,y,c,0);an(v);an(u);return 1}Vi(u|0,0,e<<2|0)|0;cf(w,b,y,c,0);an(v);an(u);return 1}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);e=da(d*da(2.32830644e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b>>>0)}else{d=da(d*da(2.32830644e-10));o[c>>2]=d;d=da(da(b>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);d=da(f>>>0)}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));d=da(da(f>>>0)*da(2.32830644e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b>>>0);o[c+4>>2]=e;e=da(f>>>0);o[c+8>>2]=e;e=da(g>>>0);o[c+12>>2]=e;h=1;return h|0}else{e=da(d*da(2.32830644e-10));o[c>>2]=e;e=da(da(b>>>0)*da(2.32830644e-10));o[c+4>>2]=e;e=da(da(f>>>0)*da(2.32830644e-10));o[c+8>>2]=e;e=da(da(g>>>0)*da(2.32830644e-10));o[c+12>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=Pa,e=Pa,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(sl(uk(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=da(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);e=da(d*da(4.65661287e-10));o[c>>2]=(i[a+32>>0]|0)==0?d:e;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(sl(uk(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=da(b|0)}else{d=da(d*da(4.65661287e-10));o[c>>2]=d;d=da(da(b|0)*da(4.65661287e-10))}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);d=da(f|0)}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));d=da(da(f|0)*da(4.65661287e-10))}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=da(0.0);h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(sl(uk(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=da(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=da(b|0);o[c+4>>2]=e;e=da(f|0);o[c+8>>2]=e;e=da(g|0);o[c+12>>2]=e;h=1;return h|0}else{e=da(d*da(4.65661287e-10));o[c>>2]=e;e=da(da(b|0)*da(4.65661287e-10));o[c+4>>2]=e;e=da(da(f|0)*da(4.65661287e-10));o[c+8>>2]=e;e=da(da(g|0)*da(4.65661287e-10));o[c+12>>2]=e;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(qe(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(re(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=al(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=sl(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+2097152|0;k[o>>2]=d;d=d>>>0>536870911;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<2097152){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>19)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);cn(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);cn(f);r=u;return h|0} +function $a(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=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;ya=r;r=r+48|0;oa=ya+40|0;va=ya+28|0;wa=ya+4|0;$=ya+24|0;qa=ya;k[va>>2]=0;xa=va+4|0;k[xa>>2]=0;k[va+8>>2]=0;k[wa>>2]=0;k[wa+4>>2]=0;k[wa+8>>2]=0;k[wa+12>>2]=0;o[wa+16>>2]=da(1.0);ta=a+136|0;ia=k[a+140>>2]|0;a:do if((b|0)>0){G=a+240|0;H=a+356|0;I=a+276|0;J=a+352|0;L=a+272|0;M=a+264|0;N=a+268|0;P=a+8|0;Q=a+36|0;R=a+40|0;S=b+-1|0;T=wa+4|0;V=a+340|0;W=va+8|0;X=a+368|0;Y=a+380|0;e=0;w=0;while(1){c=w+1|0;d=k[H>>2]|0;b:do if((d|0)!=-1){v=k[X>>2]|0;u=(k[Y>>2]|0)+(d<<2)|0;ja=(k[u>>2]|0)+-1|0;k[u>>2]=ja;ja=k[(k[v+(d*12|0)>>2]|0)+(ja<<2)>>2]|0;d=k[5904+(ja<<2)>>2]|0;k[J>>2]=d;if(!ja)ja=15;else ja=56}else{do if(!(i[I>>0]|0))d=1;else{f=k[L>>2]|0;h=k[M>>2]|0;j=k[N>>2]|0;d=h+(f>>>3)|0;if(d>>>0>>0?(ja=l[d>>0]|0,aa=f+1|0,k[L>>2]=aa,ja&1<<(f&7)|0):0){d=h+(aa>>>3)|0;if(d>>>0>>0){g=(l[d>>0]|0)>>>(aa&7)&1;f=f+2|0;k[L>>2]=f}else{g=0;f=aa}d=h+(f>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(f&7);k[L>>2]=f+1;d=d<<1&2}else d=0;d=(d|g)<<1|1;break}k[J>>2]=0;ja=15;break b}while(0);k[J>>2]=d;ja=56}while(0);c:do if((ja|0)==15){ja=0;u=k[(k[xa>>2]|0)+-4>>2]|0;v=(u|0)<0;d:do if(!v){d=u+(((u>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0)ja=17;else{h=k[P>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(d<<2)>>2]|0;if((f|0)<=-1){q=0;p=d;f=h;break d}d=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){q=1;p=d;f=h;break}}}}else{d=u;ja=17}while(0);if((ja|0)==17){ja=0;g=k[P>>2]|0;q=1;p=d;f=g;g=k[g+12>>2]|0}d=w*3|0;s=d+1|0;k[g+(u<<2)>>2]=s;k[g+(s<<2)>>2]=u;w=d+2|0;k[g+(p<<2)>>2]=w;k[g+(w<<2)>>2]=p;g=u+1|0;if(!v?(x=((g|0)%3|0|0)==0?u+-2|0:g,(x|0)>=0):0)t=k[(k[f>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;else t=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=t;if((t|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=t>>>0){m=t+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(F=f+(m<<2)|0,(g|0)!=(F|0)):0)k[h>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);k[f+(t<<2)>>2]=d;f=k[P>>2]|0}g=p+1|0;if(!q?(A=((g|0)%3|0|0)==0?p+-2|0:g,(A|0)>=0):0)p=k[(k[f>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(K=f+(m<<2)|0,(g|0)!=(K|0)):0)k[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[P>>2]|0}if(!v?(E=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(E|0)>=0):0)p=k[(k[f>>2]|0)+(((E>>>0)/3|0)*12|0)+(((E>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(O=f+(m<<2)|0,(g|0)!=(O|0)):0)k[h>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=w}if((e|0)>(ia|0)){e=-1;break a}ja=(k[ta>>2]|0)+(t>>>5<<2)|0;k[ja>>2]=k[ja>>2]&~(1<<(t&31));k[(k[xa>>2]|0)+-4>>2]=d;ja=189}else if((ja|0)==56){ja=0;switch(d|0){case 3:case 5:{t=k[(k[xa>>2]|0)+-4>>2]|0;v=w*3|0;n=((d|0)==5?2:1)+v|0;d=k[P>>2]|0;u=k[d+12>>2]|0;k[u+(n<<2)>>2]=t;k[u+(t<<2)>>2]=n;u=e+1|0;s=(n|0)<0;k[(k[d>>2]|0)+((s?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=d+24|0;g=d+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(u>>>0>h>>>0){jh(j,u-h|0);d=k[j>>2]|0;break}if(u>>>0>>0?(U=d+(u<<2)|0,(f|0)!=(U|0)):0)k[g>>2]=f+(~((f+-4-U|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=n;e=k[P>>2]|0}else e=d;d=n+1|0;if(s)p=n;else p=((d|0)%3|0|0)==0?n+-2|0:d;q=(t|0)<0;if(!q?(D=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(D|0)>=0):0)m=k[(k[e>>2]|0)+(((D>>>0)/3|0)*12|0)+(((D>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(Z=d+(h<<2)|0,(e|0)!=(Z|0)):0)k[f>>2]=e+(~((e+-4-Z|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=p;e=k[P>>2]|0}do if(!s)if(!((n>>>0)%3|0)){n=n+2|0;break}else{n=n+-1|0;break}while(0);d=t+1|0;if(!q?(z=((d|0)%3|0|0)==0?t+-2|0:d,(z|0)>=0):0)m=k[(k[e>>2]|0)+(((z>>>0)/3|0)*12|0)+(((z>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((n|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(_=d+(h<<2)|0,(e|0)!=(_|0)):0)k[f>>2]=e+(~((e+-4-_|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n}k[(k[xa>>2]|0)+-4>>2]=v;e=u;d=v;break}case 1:{d=k[xa>>2]|0;p=d+-4|0;g=k[p>>2]|0;k[xa>>2]=p;j=k[T>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&w;else n=(w>>>0)%(j>>>0)|0;f=k[(k[wa>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){d=p;break e}if((k[f+4>>2]&m|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));else do{f=k[f>>2]|0;if(!f){d=p;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));f=f+12|0;if((p|0)==(k[W>>2]|0)){xh(va,f);d=k[xa>>2]|0;break}else{k[p>>2]=k[f>>2];k[xa>>2]=d;break}}else d=p}else d=p;while(0);s=k[d+-4>>2]|0;d=w*3|0;u=d+2|0;f=k[P>>2]|0;q=k[f+12>>2]|0;k[q+(s<<2)>>2]=u;k[q+(u<<2)>>2]=s;t=d+1|0;k[q+(g<<2)>>2]=t;k[q+(t<<2)>>2]=g;q=(s|0)<0;if(!q?(C=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(C|0)>=0):0)w=k[(k[f>>2]|0)+(((C>>>0)/3|0)*12|0)+(((C>>>0)%3|0)<<2)>>2]|0;else w=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=w;v=(w|0)>-1;if(v){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=w>>>0){n=w+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ba=f+(n<<2)|0,(h|0)!=(ba|0)):0)k[j>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=d;f=k[P>>2]|0}h=s+1|0;if(!q?(y=((h|0)%3|0|0)==0?s+-2|0:h,(y|0)>=0):0)q=k[(k[f>>2]|0)+(((y>>>0)/3|0)*12|0)+(((y>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(t>>>0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ca=f+(n<<2)|0,(h|0)!=(ca|0)):0)k[j>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=t;f=k[P>>2]|0}s=(g|0)<0;if(!s?(B=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(B|0)>=0):0)q=k[(k[f>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(u>>>0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ea=f+(n<<2)|0,(h|0)!=(ea|0)):0)k[j>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=u}f=g+1|0;if(!s){f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){s=-1073741824;g=f}else{s=k[(k[k[P>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;g=f}}else s=-1073741824;ja=k[V>>2]|0;f=ja+(w<<2)|0;k[f>>2]=(k[f>>2]|0)+(k[ja+(s<<2)>>2]|0);f=k[P>>2]|0;f:do if((g|0)>-1){q=w+1|0;if(!v){j=k[f>>2]|0;m=f+12|0;while(1){k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;ja=g+1|0;g=((ja|0)%3|0|0)==0?g+-2|0:ja;if((g|0)<0)break f;g=k[(k[m>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;n=f+24|0;p=f+28|0;h=k[p>>2]|0;f=k[n>>2]|0;j=h-f>>2;do if(j>>>0<=w>>>0){m=h;if(q>>>0>j>>>0){jh(n,q-j|0);f=k[n>>2]|0;break}if(q>>>0>=j>>>0)break;h=f+(q<<2)|0;if((m|0)==(h|0))break;k[p>>2]=m+(~((m+-4-h|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[P>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(s<<2)>>2]=-1073741824;k[(k[xa>>2]|0)+-4>>2]=d;ja=189;break c}case 7:{m=w*3|0;k[oa>>2]=m;f=k[P>>2]|0;n=e+1|0;d=k[f>>2]|0;k[d+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){jh(j,n-h|0);d=k[j>>2]|0;break}if(n>>>0>>0?(fa=d+(n<<2)|0,(f|0)!=(fa|0)):0)k[g>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=m;f=k[P>>2]|0;g=k[oa>>2]|0;d=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[d+(((g|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){jh(j,p-h|0);d=k[j>>2]|0;break}if(p>>>0>>0?(ga=d+(p<<2)|0,(f|0)!=(ga|0)):0)k[g>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=m;f=k[P>>2]|0;g=k[oa>>2]|0;d=k[f>>2]|0}m=g+2|0;e=e+3|0;k[d+(((g|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){jh(j,e-h|0);d=k[j>>2]|0;break}if(e>>>0>>0?(ha=d+(e<<2)|0,(f|0)!=(ha|0)):0)k[g>>2]=f+(~((f+-4-ha|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=m}d=k[xa>>2]|0;if((d|0)==(k[W>>2]|0)){xh(va,oa);d=k[xa>>2]|0}else{k[d>>2]=k[oa>>2];d=d+4|0;k[xa>>2]=d}d=k[d+-4>>2]|0;break}default:{e=-1;break a}}k[$>>2]=d;k[oa>>2]=k[$>>2];md(G,oa);j=b-w|0;m=j+-1|0;d=k[R>>2]|0;if((d|0)!=(k[Q>>2]|0))do{f=k[d+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break c;f=i[d+-4>>0]|0;h=k[d+-12>>2]|0;k[R>>2]=d+-12;if((h|0)<0){e=-1;break a}d=k[(k[xa>>2]|0)+-4>>2]|0;g=(d|0)<0;do if(!(f&1)){if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{f=d+1|0;if(!g)d=((f|0)%3|0|0)==0?d+-2|0:f}while(0);k[oa>>2]=S-h;w=De(wa,oa)|0;k[w>>2]=d;d=k[R>>2]|0}while((d|0)!=(k[Q>>2]|0))}while(0);if((ja|0)==189){k[$>>2]=d;k[oa>>2]=k[$>>2];md(G,oa)}if((c|0)<(b|0))w=c;else{ja=203;break}}}else{e=0;c=0;ja=203}while(0);do if((ja|0)==203)if((e|0)<=(ia|0)){d=k[xa>>2]|0;g:do if((d|0)!=(k[va>>2]|0)){t=a+316|0;u=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;C=a+304|0;D=a+308|0;h:while(1){ia=d;n=k[ia+-4>>2]|0;k[oa>>2]=n;k[xa>>2]=ia+-4;do if(i[t>>0]|0){d=k[B>>2]|0;f=(k[C>>2]|0)+(d>>>3)|0;if(f>>>0<(k[D>>2]|0)>>>0?(ia=l[f>>0]|0,k[B>>2]=d+1,ia&1<<(d&7)|0):0){ja=210;break}d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){ja=266;break h}ia=f<<6;d=d+32&-32;Xg(v,f<<5>>>0<1073741823?(ia>>>0>>0?d:ia):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;ia=(k[v>>2]|0)+(d>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(d&31));d=k[y>>2]|0;if((d|0)==(k[z>>2]|0)){xh(A,oa);break}else{k[d>>2]=k[oa>>2];k[y>>2]=d+4;break}}else ja=210;while(0);if((ja|0)==210){ja=0;h=(n|0)<0;i:do if(!h){d=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>=0){f=k[(k[u>>2]|0)+12>>2]|0;g=d;while(1){d=k[f+(g<<2)>>2]|0;if((d|0)<=-1){f=0;d=g;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){f=1;break}else g=d}if(h){g=n;ja=217;break}}else f=1;g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)ja=217;else{m=k[u>>2]|0;j=k[m+12>>2]|0;while(1){h=k[j+(g<<2)>>2]|0;if((h|0)<=-1){q=0;h=j;j=m;break i}g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0){q=1;h=j;j=m;break}}}}else{f=1;g=n;d=n;ja=217}while(0);if((ja|0)==217){ja=0;j=k[u>>2]|0;q=1;h=k[j+12>>2]|0}s=c+1|0;c=c*3|0;k[qa>>2]=c;k[h+(c<<2)>>2]=n;k[h+(n<<2)>>2]=c;c=(k[qa>>2]|0)+1|0;k[h+(c<<2)>>2]=d;k[h+(d<<2)>>2]=c;c=(k[qa>>2]|0)+2|0;k[h+(c<<2)>>2]=g;k[h+(g<<2)>>2]=c;c=k[qa>>2]|0;h=d+1|0;if(!f?(ma=((h|0)%3|0|0)==0?d+-2|0:h,(ma|0)>=0):0)p=k[(k[j>>2]|0)+(((ma>>>0)/3|0)*12|0)+(((ma>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[j>>2]|0)+(((c|0)<0?-1073741824:(c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=j+24|0;h=j+28|0;f=k[h>>2]|0;d=k[n>>2]|0;j=f-d>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);d=k[n>>2]|0;break}if(m>>>0>>0?(ra=d+(m<<2)|0,(f|0)!=(ra|0)):0)k[h>>2]=f+(~((f+-4-ra|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=c;c=k[qa>>2]|0;f=k[u>>2]|0}else f=j;n=c+1|0;d=g+1|0;if(!q?(la=((d|0)%3|0|0)==0?g+-2|0:d,(la|0)>=0):0)m=k[(k[f>>2]|0)+(((la>>>0)/3|0)*12|0)+(((la>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(sa=c+(h<<2)|0,(d|0)!=(sa|0)):0)k[f>>2]=d+(~((d+-4-sa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[qa>>2]|0;g=k[u>>2]|0}else g=f;p=c+2|0;d=k[oa>>2]|0;f=d+1|0;if((d|0)>=0?(ka=((f|0)%3|0|0)==0?d+-2|0:f,(ka|0)>=0):0)n=k[(k[g>>2]|0)+(((ka>>>0)/3|0)*12|0)+(((ka>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((c|0)<-2?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=g+24|0;m=g+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){jh(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>>0){d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}}while(0);k[c+(n<<2)>>2]=p;c=k[qa>>2]|0}if((c|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[ta>>2]|0;ia=d+(c>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(c&31));ia=k[qa>>2]|0;c=ia+1|0;if((ia|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;ia=d+(c>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(c&31));ia=k[qa>>2]|0;c=ia+2|0;if((ia|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=d+(c>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(c&31));c=k[w>>2]|0;d=k[x>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ja=256;break}ia=d<<6;c=c+32&-32;Xg(v,d<<5>>>0<1073741823?(ia>>>0>>0?c:ia):2147483647);c=k[w>>2]|0}k[w>>2]=c+1;ia=(k[v>>2]|0)+(c>>>5<<2)|0;k[ia>>2]=k[ia>>2]|1<<(c&31);c=k[y>>2]|0;if((c|0)==(k[z>>2]|0))xh(A,qa);else{k[c>>2]=k[qa>>2];k[y>>2]=c+4}c=s}d=k[xa>>2]|0;if((d|0)==(k[va>>2]|0)){na=c;pa=u;break g}}if((ja|0)==256)hm(v);else if((ja|0)==266)hm(v)}else{na=c;pa=a+8|0}while(0);ta=k[pa>>2]|0;if((na|0)==(((k[ta+4>>2]|0)-(k[ta>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){jh(h,e-f|0);break}if(e>>>0>>0?(ua=d+(e<<2)|0,(g|0)!=(ua|0)):0)k[c>>2]=g+(~((g+-4-ua|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[wa+8>>2]|0;if(c|0)do{ua=c;c=k[c>>2]|0;cn(ua)}while((c|0)!=0);c=k[wa>>2]|0;k[wa>>2]=0;if(c|0)cn(c);c=k[va>>2]|0;if(!c){r=ya;return e|0}d=k[xa>>2]|0;if((d|0)!=(c|0))k[xa>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(c);r=ya;return e|0}function ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=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;xa=r;r=r+48|0;na=xa+40|0;ua=xa+28|0;va=xa+4|0;$=xa+24|0;pa=xa;k[ua>>2]=0;wa=ua+4|0;k[wa>>2]=0;k[ua+8>>2]=0;k[va>>2]=0;k[va+4>>2]=0;k[va+8>>2]=0;k[va+12>>2]=0;o[va+16>>2]=da(1.0);sa=a+136|0;ha=k[a+140>>2]|0;a:do if((b|0)>0){G=a+240|0;H=a+372|0;I=a+276|0;K=a+368|0;L=a+272|0;M=a+264|0;O=a+268|0;P=a+8|0;Q=a+36|0;R=a+40|0;S=b+-1|0;U=va+4|0;V=a+340|0;W=ua+8|0;X=a+352|0;e=0;w=0;while(1){c=w+1|0;if((k[H>>2]|0)!=-1?Ti(X)|0:0){d=k[H>>2]|0;k[K>>2]=d;if(!d)ia=16;else ia=57}else ia=5;b:do if((ia|0)==5){do if(!(i[I>>0]|0))d=1;else{f=k[L>>2]|0;h=k[M>>2]|0;j=k[O>>2]|0;d=h+(f>>>3)|0;if(d>>>0>>0?(ia=l[d>>0]|0,aa=f+1|0,k[L>>2]=aa,ia&1<<(f&7)|0):0){d=h+(aa>>>3)|0;if(d>>>0>>0){g=(l[d>>0]|0)>>>(aa&7)&1;f=f+2|0;k[L>>2]=f}else{g=0;f=aa}d=h+(f>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(f&7);k[L>>2]=f+1;d=d<<1&2}else d=0;d=(d|g)<<1|1;break}k[K>>2]=0;ia=16;break b}while(0);k[K>>2]=d;ia=57}while(0);c:do if((ia|0)==16){ia=0;u=k[(k[wa>>2]|0)+-4>>2]|0;v=(u|0)<0;d:do if(!v){d=u+(((u>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0)ia=18;else{h=k[P>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(d<<2)>>2]|0;if((f|0)<=-1){q=0;p=d;f=h;break d}d=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){q=1;p=d;f=h;break}}}}else{d=u;ia=18}while(0);if((ia|0)==18){ia=0;f=k[P>>2]|0;q=1;p=d;g=k[f+12>>2]|0}d=w*3|0;s=d+1|0;k[g+(u<<2)>>2]=s;k[g+(s<<2)>>2]=u;w=d+2|0;k[g+(p<<2)>>2]=w;k[g+(w<<2)>>2]=p;g=u+1|0;if(!v?(x=((g|0)%3|0|0)==0?u+-2|0:g,(x|0)>=0):0)t=k[(k[f>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;else t=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=t;if((t|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=t>>>0){m=t+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(F=f+(m<<2)|0,(g|0)!=(F|0)):0)k[h>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);k[f+(t<<2)>>2]=d;f=k[P>>2]|0}g=p+1|0;if(!q?(A=((g|0)%3|0|0)==0?p+-2|0:g,(A|0)>=0):0)p=k[(k[f>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(J=f+(m<<2)|0,(g|0)!=(J|0)):0)k[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[P>>2]|0}if(!v?(E=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(E|0)>=0):0)p=k[(k[f>>2]|0)+(((E>>>0)/3|0)*12|0)+(((E>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(N=f+(m<<2)|0,(g|0)!=(N|0)):0)k[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=w}if((e|0)>(ha|0)){e=-1;break a}ia=(k[sa>>2]|0)+(t>>>5<<2)|0;k[ia>>2]=k[ia>>2]&~(1<<(t&31));k[(k[wa>>2]|0)+-4>>2]=d;ia=190}else if((ia|0)==57){ia=0;switch(d|0){case 3:case 5:{t=k[(k[wa>>2]|0)+-4>>2]|0;v=w*3|0;n=((d|0)==5?2:1)+v|0;d=k[P>>2]|0;u=k[d+12>>2]|0;k[u+(n<<2)>>2]=t;k[u+(t<<2)>>2]=n;u=e+1|0;s=(n|0)<0;k[(k[d>>2]|0)+((s?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=d+24|0;g=d+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(u>>>0>h>>>0){jh(j,u-h|0);d=k[j>>2]|0;break}if(u>>>0>>0?(T=d+(u<<2)|0,(f|0)!=(T|0)):0)k[g>>2]=f+(~((f+-4-T|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=n;e=k[P>>2]|0}else e=d;d=n+1|0;if(s)p=n;else p=((d|0)%3|0|0)==0?n+-2|0:d;q=(t|0)<0;if(!q?(D=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(D|0)>=0):0)m=k[(k[e>>2]|0)+(((D>>>0)/3|0)*12|0)+(((D>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(Y=d+(h<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=p;e=k[P>>2]|0}do if(!s)if(!((n>>>0)%3|0)){n=n+2|0;break}else{n=n+-1|0;break}while(0);d=t+1|0;if(!q?(z=((d|0)%3|0|0)==0?t+-2|0:d,(z|0)>=0):0)m=k[(k[e>>2]|0)+(((z>>>0)/3|0)*12|0)+(((z>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((n|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(Z=d+(h<<2)|0,(e|0)!=(Z|0)):0)k[f>>2]=e+(~((e+-4-Z|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n}k[(k[wa>>2]|0)+-4>>2]=v;e=u;d=v;break}case 1:{d=k[wa>>2]|0;p=d+-4|0;g=k[p>>2]|0;k[wa>>2]=p;j=k[U>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&w;else n=(w>>>0)%(j>>>0)|0;f=k[(k[va>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){d=p;break e}if((k[f+4>>2]&m|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));else do{f=k[f>>2]|0;if(!f){d=p;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));f=f+12|0;if((p|0)==(k[W>>2]|0)){xh(ua,f);d=k[wa>>2]|0;break}else{k[p>>2]=k[f>>2];k[wa>>2]=d;break}}else d=p}else d=p;while(0);s=k[d+-4>>2]|0;d=w*3|0;u=d+2|0;f=k[P>>2]|0;q=k[f+12>>2]|0;k[q+(s<<2)>>2]=u;k[q+(u<<2)>>2]=s;t=d+1|0;k[q+(g<<2)>>2]=t;k[q+(t<<2)>>2]=g;q=(s|0)<0;if(!q?(C=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(C|0)>=0):0)w=k[(k[f>>2]|0)+(((C>>>0)/3|0)*12|0)+(((C>>>0)%3|0)<<2)>>2]|0;else w=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=w;v=(w|0)>-1;if(v){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=w>>>0){n=w+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(_=f+(n<<2)|0,(h|0)!=(_|0)):0)k[j>>2]=h+(~((h+-4-_|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=d;f=k[P>>2]|0}h=s+1|0;if(!q?(y=((h|0)%3|0|0)==0?s+-2|0:h,(y|0)>=0):0)q=k[(k[f>>2]|0)+(((y>>>0)/3|0)*12|0)+(((y>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(t>>>0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ba=f+(n<<2)|0,(h|0)!=(ba|0)):0)k[j>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=t;f=k[P>>2]|0}s=(g|0)<0;if(!s?(B=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(B|0)>=0):0)q=k[(k[f>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(u>>>0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){jh(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ca=f+(n<<2)|0,(h|0)!=(ca|0)):0)k[j>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=u}f=g+1|0;if(!s){f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){s=-1073741824;g=f}else{s=k[(k[k[P>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;g=f}}else s=-1073741824;ia=k[V>>2]|0;f=ia+(w<<2)|0;k[f>>2]=(k[f>>2]|0)+(k[ia+(s<<2)>>2]|0);f=k[P>>2]|0;f:do if((g|0)>-1){q=w+1|0;if(!v){j=k[f>>2]|0;m=f+12|0;while(1){k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;ia=g+1|0;g=((ia|0)%3|0|0)==0?g+-2|0:ia;if((g|0)<0)break f;g=k[(k[m>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;n=f+24|0;p=f+28|0;h=k[p>>2]|0;f=k[n>>2]|0;j=h-f>>2;do if(j>>>0<=w>>>0){m=h;if(q>>>0>j>>>0){jh(n,q-j|0);f=k[n>>2]|0;break}if(q>>>0>=j>>>0)break;h=f+(q<<2)|0;if((m|0)==(h|0))break;k[p>>2]=m+(~((m+-4-h|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[P>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(s<<2)>>2]=-1073741824;k[(k[wa>>2]|0)+-4>>2]=d;ia=190;break c}case 7:{m=w*3|0;k[na>>2]=m;f=k[P>>2]|0;n=e+1|0;d=k[f>>2]|0;k[d+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){jh(j,n-h|0);d=k[j>>2]|0;break}if(n>>>0>>0?(ea=d+(n<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=m;f=k[P>>2]|0;g=k[na>>2]|0;d=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[d+(((g|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){jh(j,p-h|0);d=k[j>>2]|0;break}if(p>>>0>>0?(fa=d+(p<<2)|0,(f|0)!=(fa|0)):0)k[g>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=m;f=k[P>>2]|0;g=k[na>>2]|0;d=k[f>>2]|0}m=g+2|0;e=e+3|0;k[d+(((g|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){jh(j,e-h|0);d=k[j>>2]|0;break}if(e>>>0>>0?(ga=d+(e<<2)|0,(f|0)!=(ga|0)):0)k[g>>2]=f+(~((f+-4-ga|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=m}d=k[wa>>2]|0;if((d|0)==(k[W>>2]|0)){xh(ua,na);d=k[wa>>2]|0}else{k[d>>2]=k[na>>2];d=d+4|0;k[wa>>2]=d}d=k[d+-4>>2]|0;break}default:{e=-1;break a}}k[$>>2]=d;k[na>>2]=k[$>>2];kd(G,na);j=b-w|0;m=j+-1|0;d=k[R>>2]|0;if((d|0)!=(k[Q>>2]|0))do{f=k[d+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break c;f=i[d+-4>>0]|0;h=k[d+-12>>2]|0;k[R>>2]=d+-12;if((h|0)<0){e=-1;break a}d=k[(k[wa>>2]|0)+-4>>2]|0;g=(d|0)<0;do if(!(f&1)){if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{f=d+1|0;if(!g)d=((f|0)%3|0|0)==0?d+-2|0:f}while(0);k[na>>2]=S-h;w=De(va,na)|0;k[w>>2]=d;d=k[R>>2]|0}while((d|0)!=(k[Q>>2]|0))}while(0);if((ia|0)==190){k[$>>2]=d;k[na>>2]=k[$>>2];kd(G,na)}if((c|0)<(b|0))w=c;else{ia=204;break}}}else{e=0;c=0;ia=204}while(0);do if((ia|0)==204)if((e|0)<=(ha|0)){d=k[wa>>2]|0;g:do if((d|0)!=(k[ua>>2]|0)){t=a+316|0;u=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;C=a+304|0;D=a+308|0;h:while(1){ha=d;n=k[ha+-4>>2]|0;k[na>>2]=n;k[wa>>2]=ha+-4;do if(i[t>>0]|0){d=k[B>>2]|0;f=(k[C>>2]|0)+(d>>>3)|0;if(f>>>0<(k[D>>2]|0)>>>0?(ha=l[f>>0]|0,k[B>>2]=d+1,ha&1<<(d&7)|0):0){ia=211;break}d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){ia=267;break h}ha=f<<6;d=d+32&-32;Xg(v,f<<5>>>0<1073741823?(ha>>>0>>0?d:ha):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;ha=(k[v>>2]|0)+(d>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(d&31));d=k[y>>2]|0;if((d|0)==(k[z>>2]|0)){xh(A,na);break}else{k[d>>2]=k[na>>2];k[y>>2]=d+4;break}}else ia=211;while(0);if((ia|0)==211){ia=0;h=(n|0)<0;i:do if(!h){d=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>=0){f=k[(k[u>>2]|0)+12>>2]|0;g=d;while(1){d=k[f+(g<<2)>>2]|0;if((d|0)<=-1){f=0;d=g;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){f=1;break}else g=d}if(h){g=n;ia=218;break}}else f=1;g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)ia=218;else{m=k[u>>2]|0;j=k[m+12>>2]|0;while(1){h=k[j+(g<<2)>>2]|0;if((h|0)<=-1){q=0;h=j;j=m;break i}g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0){q=1;h=j;j=m;break}}}}else{f=1;g=n;d=n;ia=218}while(0);if((ia|0)==218){ia=0;j=k[u>>2]|0;q=1;h=k[j+12>>2]|0}s=c+1|0;c=c*3|0;k[pa>>2]=c;k[h+(c<<2)>>2]=n;k[h+(n<<2)>>2]=c;c=(k[pa>>2]|0)+1|0;k[h+(c<<2)>>2]=d;k[h+(d<<2)>>2]=c;c=(k[pa>>2]|0)+2|0;k[h+(c<<2)>>2]=g;k[h+(g<<2)>>2]=c;c=k[pa>>2]|0;h=d+1|0;if(!f?(la=((h|0)%3|0|0)==0?d+-2|0:h,(la|0)>=0):0)p=k[(k[j>>2]|0)+(((la>>>0)/3|0)*12|0)+(((la>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[j>>2]|0)+(((c|0)<0?-1073741824:(c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=j+24|0;h=j+28|0;f=k[h>>2]|0;d=k[n>>2]|0;j=f-d>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);d=k[n>>2]|0;break}if(m>>>0>>0?(qa=d+(m<<2)|0,(f|0)!=(qa|0)):0)k[h>>2]=f+(~((f+-4-qa|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=c;c=k[pa>>2]|0;f=k[u>>2]|0}else f=j;n=c+1|0;d=g+1|0;if(!q?(ka=((d|0)%3|0|0)==0?g+-2|0:d,(ka|0)>=0):0)m=k[(k[f>>2]|0)+(((ka>>>0)/3|0)*12|0)+(((ka>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){jh(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(ra=c+(h<<2)|0,(d|0)!=(ra|0)):0)k[f>>2]=d+(~((d+-4-ra|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[pa>>2]|0;g=k[u>>2]|0}else g=f;p=c+2|0;d=k[na>>2]|0;f=d+1|0;if((d|0)>=0?(ja=((f|0)%3|0|0)==0?d+-2|0:f,(ja|0)>=0):0)n=k[(k[g>>2]|0)+(((ja>>>0)/3|0)*12|0)+(((ja>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((c|0)<-2?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=g+24|0;m=g+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){jh(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>>0){d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}}while(0);k[c+(n<<2)>>2]=p;c=k[pa>>2]|0}if((c|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[sa>>2]|0;ha=d+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));ha=k[pa>>2]|0;c=ha+1|0;if((ha|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;ha=d+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(c&31));ha=k[pa>>2]|0;c=ha+2|0;if((ha|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=d+(c>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(c&31));c=k[w>>2]|0;d=k[x>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ia=257;break}ha=d<<6;c=c+32&-32;Xg(v,d<<5>>>0<1073741823?(ha>>>0>>0?c:ha):2147483647);c=k[w>>2]|0}k[w>>2]=c+1;ha=(k[v>>2]|0)+(c>>>5<<2)|0;k[ha>>2]=k[ha>>2]|1<<(c&31);c=k[y>>2]|0;if((c|0)==(k[z>>2]|0))xh(A,pa);else{k[c>>2]=k[pa>>2];k[y>>2]=c+4}c=s}d=k[wa>>2]|0;if((d|0)==(k[ua>>2]|0)){ma=c;oa=u;break g}}if((ia|0)==257)hm(v);else if((ia|0)==267)hm(v)}else{ma=c;oa=a+8|0}while(0);sa=k[oa>>2]|0;if((ma|0)==(((k[sa+4>>2]|0)-(k[sa>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){jh(h,e-f|0);break}if(e>>>0>>0?(ta=d+(e<<2)|0,(g|0)!=(ta|0)):0)k[c>>2]=g+(~((g+-4-ta|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[va+8>>2]|0;if(c|0)do{ta=c;c=k[c>>2]|0;cn(ta)}while((c|0)!=0);c=k[va>>2]|0;k[va>>2]=0;if(c|0)cn(c);c=k[ua>>2]|0;if(!c){r=xa;return e|0}d=k[wa>>2]|0;if((d|0)!=(c|0))k[wa>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(c);r=xa;return e|0}function bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=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;sa=r;r=r+48|0;pa=sa+28|0;qa=sa+8|0;ia=sa+4|0;ja=sa;k[pa>>2]=0;ra=pa+4|0;k[ra>>2]=0;k[pa+8>>2]=0;k[qa>>2]=0;k[qa+4>>2]=0;k[qa+8>>2]=0;k[qa+12>>2]=0;o[qa+16>>2]=da(1.0);ma=a+136|0;ba=k[a+140>>2]|0;a:do if((b|0)>0){J=a+276|0;L=qa+4|0;M=a+8|0;N=pa+8|0;O=a+272|0;Q=a+264|0;R=a+268|0;S=a+36|0;T=a+40|0;U=b+-1|0;d=0;x=0;b:while(1){c=x+1|0;c:do if(!(i[J>>0]|0))na=89;else{f=k[O>>2]|0;h=k[Q>>2]|0;j=k[R>>2]|0;e=h+(f>>>3)|0;if(e>>>0>>0?(w=l[e>>0]|0,W=f+1|0,k[O>>2]=W,w&1<<(f&7)|0):0){e=h+(W>>>3)|0;if(e>>>0>>0){g=(l[e>>0]|0)>>>(W&7)&1;f=f+2|0;k[O>>2]=f}else{g=0;f=W}e=h+(f>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(f&7);k[O>>2]=f+1;e=e<<1&2}else e=0;e=(e|g)<<1|1;switch(e&7){case 1:{na=89;break c}case 3:case 5:{u=k[(k[ra>>2]|0)+-4>>2]|0;w=x*3|0;p=((e|0)==5?2:1)+w|0;e=k[M>>2]|0;v=k[e+12>>2]|0;k[v+(p<<2)>>2]=u;k[v+(u<<2)>>2]=p;v=d+1|0;t=(p|0)<0;k[(k[e>>2]|0)+((t?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=d>>>0){if(v>>>0>h>>>0){jh(j,v-h|0);e=k[j>>2]|0;break}if(v>>>0>>0?(V=e+(v<<2)|0,(f|0)!=(V|0)):0)k[g>>2]=f+(~((f+-4-V|0)>>>2)<<2)}while(0);k[e+(d<<2)>>2]=p;e=k[M>>2]|0}d=p+1|0;if(t)q=p;else q=((d|0)%3|0|0)==0?p+-2|0:d;s=(u|0)<0;if(!s?(G=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(G|0)>=0):0)n=k[(k[e>>2]|0)+(((G>>>0)/3|0)*12|0)+(((G>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((q|0)<0?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){jh(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>>0){e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}}while(0);k[d+(n<<2)>>2]=q;e=k[M>>2]|0}do if(!t)if(!((p>>>0)%3|0)){p=p+2|0;break}else{p=p+-1|0;break}while(0);d=u+1|0;if(!s?(B=((d|0)%3|0|0)==0?u+-2|0:d,(B|0)>=0):0)n=k[(k[e>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){jh(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p}k[(k[ra>>2]|0)+-4>>2]=w;d=v;break}case 7:{m=x*3|0;k[ia>>2]=m;f=k[M>>2]|0;n=d+1|0;e=k[f>>2]|0;k[e+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=d>>>0){if(n>>>0>h>>>0){jh(j,n-h|0);e=k[j>>2]|0;break}if(n>>>0>>0?(_=e+(n<<2)|0,(f|0)!=(_|0)):0)k[g>>2]=f+(~((f+-4-_|0)>>>2)<<2)}while(0);k[e+(d<<2)>>2]=m;f=k[M>>2]|0;g=k[ia>>2]|0;e=k[f>>2]|0}else g=m;m=g+1|0;p=d+2|0;k[e+(((g|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((d|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){jh(j,p-h|0);e=k[j>>2]|0;break}if(p>>>0>>0?($=e+(p<<2)|0,(f|0)!=($|0)):0)k[g>>2]=f+(~((f+-4-$|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=m;f=k[M>>2]|0;g=k[ia>>2]|0;e=k[f>>2]|0}m=g+2|0;d=d+3|0;k[e+(((g|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=p>>>0){if(d>>>0>h>>>0){jh(j,d-h|0);e=k[j>>2]|0;break}if(d>>>0>>0?(aa=e+(d<<2)|0,(f|0)!=(aa|0)):0)k[g>>2]=f+(~((f+-4-aa|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=m}e=k[ra>>2]|0;if((e|0)==(k[N>>2]|0))xh(pa,ia);else{k[e>>2]=k[ia>>2];k[ra>>2]=e+4}break}default:break b}j=b-x|0;m=j+-1|0;e=k[T>>2]|0;if((e|0)==(k[S>>2]|0))break;while(1){f=k[e+-8>>2]|0;if((f|0)>=(j|0)){D=-1;break a}if((f|0)!=(m|0))break c;f=i[e+-4>>0]|0;h=k[e+-12>>2]|0;k[T>>2]=e+-12;if((h|0)<0){D=-1;break a}e=k[(k[ra>>2]|0)+-4>>2]|0;g=(e|0)<0;do if(!(f&1)){if(!g)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if(!g)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[ia>>2]=U-h;x=De(qa,ia)|0;k[x>>2]=e;e=k[T>>2]|0;if((e|0)==(k[S>>2]|0))break c}}t=k[(k[ra>>2]|0)+-4>>2]|0;u=(t|0)<0;d:do if(!u){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)na=12;else{h=k[M>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(e<<2)>>2]|0;if((f|0)<=-1){p=0;break d}e=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){p=1;break}}}}else{e=t;na=12}while(0);if((na|0)==12){na=0;h=k[M>>2]|0;p=1;g=k[h+12>>2]|0}v=x*3|0;q=v+1|0;k[g+(t<<2)>>2]=q;k[g+(q<<2)>>2]=t;w=v+2|0;k[g+(e<<2)>>2]=w;k[g+(w<<2)>>2]=e;f=t+1|0;if(!u?(z=((f|0)%3|0|0)==0?t+-2|0:f,(z|0)>=0):0)s=k[(k[h>>2]|0)+(((z>>>0)/3|0)*12|0)+(((z>>>0)%3|0)<<2)>>2]|0;else s=-1073741824;k[(k[h>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=s;if((s|0)>-1){n=h+24|0;h=h+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=s>>>0){m=s+1|0;if(m>>>0>j>>>0){jh(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(I=f+(m<<2)|0,(g|0)!=(I|0)):0)k[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);k[f+(s<<2)>>2]=v;g=k[M>>2]|0}else g=h;f=e+1|0;if(!p?(C=((f|0)%3|0|0)==0?e+-2|0:f,(C|0)>=0):0)n=k[(k[g>>2]|0)+(((C>>>0)/3|0)*12|0)+(((C>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((v|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(K=e+(j<<2)|0,(f|0)!=(K|0)):0)k[g>>2]=f+(~((f+-4-K|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=q;e=k[M>>2]|0}else e=g;if(!u?(H=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(H|0)>=0):0)n=k[(k[e>>2]|0)+(((H>>>0)/3|0)*12|0)+(((H>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((v|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(P=e+(j<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=w}if((d|0)>(ba|0)){D=-1;break a}x=(k[ma>>2]|0)+(s>>>5<<2)|0;k[x>>2]=k[x>>2]&~(1<<(s&31));k[(k[ra>>2]|0)+-4>>2]=v}while(0);if((na|0)==89){na=0;e=k[ra>>2]|0;n=e+-4|0;u=k[n>>2]|0;k[ra>>2]=n;h=k[L>>2]|0;e:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[qa>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){e=n;break e}if((k[f+4>>2]&j|0)!=(m|0)){e=n;break e}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){e=n;break e}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){e=n;break e}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((n|0)==(k[N>>2]|0)){xh(pa,f);e=k[ra>>2]|0;break}else{k[n>>2]=k[f>>2];k[ra>>2]=e;break}}else e=n}else e=n;while(0);p=k[e+-4>>2]|0;w=x*3|0;s=w+2|0;e=k[M>>2]|0;n=k[e+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;if(!n?(F=(((p>>>0)%3|0|0)==0?2:-1)+p|0,(F|0)>=0):0)v=k[(k[e>>2]|0)+(((F>>>0)/3|0)*12|0)+(((F>>>0)%3|0)<<2)>>2]|0;else v=-1073741824;k[(k[e>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=v>>>0){j=v+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(X=e+(j<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(v<<2)>>2]=w;e=k[M>>2]|0}f=p+1|0;if(!n?(A=((f|0)%3|0|0)==0?p+-2|0:f,(A|0)>=0):0)n=k[(k[e>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=q;e=k[M>>2]|0}p=(u|0)<0;if(!p?(E=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(E|0)>=0):0)n=k[(k[e>>2]|0)+(((E>>>0)/3|0)*12|0)+(((E>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Z=e+(j<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=s}e=u+1|0;f:do if(!p?(y=((e|0)%3|0|0)==0?u+-2|0:e,(y|0)>=0):0){e=k[(k[k[M>>2]>>2]|0)+(((y>>>0)/3|0)*12|0)+(((y>>>0)%3|0)<<2)>>2]|0;f=k[M>>2]|0;q=v+1|0;if(t)p=y;else{j=k[f>>2]|0;m=f+12|0;g=y;while(1){k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=v;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[m>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]=v;m=f+24|0;n=f+28|0;g=k[n>>2]|0;f=k[m>>2]|0;h=g-f>>2;do if(h>>>0<=v>>>0){j=g;if(q>>>0>h>>>0){jh(m,q-h|0);f=k[m>>2]|0;break}if(q>>>0>=h>>>0)break;g=f+(q<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[f+(v<<2)>>2]=p;g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;f=k[M>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;p=((h|0)%3|0|0)==0?g+-2|0:h}while((p|0)>-1)}else na=139;while(0);if((na|0)==139){na=0;f=k[M>>2]|0;e=-1073741824}k[(k[f+24>>2]|0)+(e<<2)>>2]=-1073741824;k[(k[ra>>2]|0)+-4>>2]=w}if((c|0)<(b|0))x=c;else{D=d;na=196;break a}}}else{D=0;c=0;na=196}while(0);do if((na|0)==196)if((D|0)<=(ba|0)){d=k[ra>>2]|0;g:do if((d|0)!=(k[pa>>2]|0)){s=a+316|0;t=a+8|0;u=a+64|0;v=a+68|0;w=a+72|0;x=a+80|0;y=a+84|0;z=a+76|0;A=a+312|0;B=a+304|0;C=a+308|0;h:while(1){ba=d;m=k[ba+-4>>2]|0;k[ia>>2]=m;k[ra>>2]=ba+-4;do if(i[s>>0]|0){d=k[A>>2]|0;e=(k[B>>2]|0)+(d>>>3)|0;if(e>>>0<(k[C>>2]|0)>>>0?(ba=l[e>>0]|0,k[A>>2]=d+1,ba&1<<(d&7)|0):0){na=203;break}d=k[v>>2]|0;e=k[w>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){na=259;break h}ba=e<<6;d=d+32&-32;Xg(u,e<<5>>>0<1073741823?(ba>>>0>>0?d:ba):2147483647);d=k[v>>2]|0}k[v>>2]=d+1;ba=(k[u>>2]|0)+(d>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(d&31));d=k[x>>2]|0;if((d|0)==(k[y>>2]|0)){xh(z,ia);break}else{k[d>>2]=k[ia>>2];k[x>>2]=d+4;break}}else na=203;while(0);if((na|0)==203){na=0;g=(m|0)<0;i:do if(!g){d=m+(((m>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>=0){e=k[(k[t>>2]|0)+12>>2]|0;f=d;while(1){d=k[e+(f<<2)>>2]|0;if((d|0)<=-1){e=0;d=f;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){e=1;break}else f=d}if(g){f=m;na=210;break}}else e=1;f=m+1|0;f=((f|0)%3|0|0)==0?m+-2|0:f;if((f|0)<0)na=210;else{j=k[t>>2]|0;h=k[j+12>>2]|0;while(1){g=k[h+(f<<2)>>2]|0;if((g|0)<=-1){p=0;g=h;h=j;break i}f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){p=1;g=h;h=j;break}}}}else{e=1;f=m;d=m;na=210}while(0);if((na|0)==210){na=0;h=k[t>>2]|0;p=1;g=k[h+12>>2]|0}q=c+1|0;c=c*3|0;k[ja>>2]=c;k[g+(c<<2)>>2]=m;k[g+(m<<2)>>2]=c;c=(k[ja>>2]|0)+1|0;k[g+(c<<2)>>2]=d;k[g+(d<<2)>>2]=c;c=(k[ja>>2]|0)+2|0;k[g+(c<<2)>>2]=f;k[g+(f<<2)>>2]=c;c=k[ja>>2]|0;g=d+1|0;if(!e?(fa=((g|0)%3|0|0)==0?d+-2|0:g,(fa|0)>=0):0)n=k[(k[h>>2]|0)+(((fa>>>0)/3|0)*12|0)+(((fa>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[h>>2]|0)+(((c|0)<0?-1073741824:(c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;e=k[g>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){jh(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ka=d+(j<<2)|0,(e|0)!=(ka|0)):0)k[g>>2]=e+(~((e+-4-ka|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=c;c=k[ja>>2]|0;e=k[t>>2]|0}else e=h;m=c+1|0;d=f+1|0;if(!p?(ea=((d|0)%3|0|0)==0?f+-2|0:d,(ea|0)>=0):0)j=k[(k[e>>2]|0)+(((ea>>>0)/3|0)*12|0)+(((ea>>>0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[e>>2]|0)+(((c|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=e+24|0;e=e+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){jh(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(la=c+(g<<2)|0,(d|0)!=(la|0)):0)k[e>>2]=d+(~((d+-4-la|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=m;c=k[ja>>2]|0;f=k[t>>2]|0}else f=e;n=c+2|0;d=k[ia>>2]|0;e=d+1|0;if((d|0)>=0?(ca=((e|0)%3|0|0)==0?d+-2|0:e,(ca|0)>=0):0)m=k[(k[f>>2]|0)+(((ca>>>0)/3|0)*12|0)+(((ca>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=f+24|0;j=f+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){jh(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>>0){d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}}while(0);k[c+(m<<2)>>2]=n;c=k[ja>>2]|0}if((c|0)<0)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[ma>>2]|0;ba=d+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));ba=k[ja>>2]|0;c=ba+1|0;if((ba|0)<-1)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;ba=d+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));ba=k[ja>>2]|0;c=ba+2|0;if((ba|0)<-2)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=d+(c>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(c&31));c=k[v>>2]|0;d=k[w>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){na=249;break}ba=d<<6;c=c+32&-32;Xg(u,d<<5>>>0<1073741823?(ba>>>0>>0?c:ba):2147483647);c=k[v>>2]|0}k[v>>2]=c+1;ba=(k[u>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]|1<<(c&31);c=k[x>>2]|0;if((c|0)==(k[y>>2]|0))xh(z,ja);else{k[c>>2]=k[ja>>2];k[x>>2]=c+4}c=q}d=k[ra>>2]|0;if((d|0)==(k[pa>>2]|0)){ga=c;ha=t;break g}}if((na|0)==249)hm(u);else if((na|0)==259)hm(u)}else{ga=c;ha=a+8|0}while(0);na=k[ha>>2]|0;if((ga|0)==(((k[na+4>>2]|0)-(k[na>>2]|0)|0)/12|0|0)){g=a+88|0;c=a+92|0;f=k[c>>2]|0;d=k[g>>2]|0;e=f-d>>2;if(D>>>0>e>>>0){jh(g,D-e|0);break}if(D>>>0>>0?(oa=d+(D<<2)|0,(f|0)!=(oa|0)):0)k[c>>2]=f+(~((f+-4-oa|0)>>>2)<<2)}else D=-1}else D=-1;while(0);c=k[qa+8>>2]|0;if(c|0)do{oa=c;c=k[c>>2]|0;cn(oa)}while((c|0)!=0);c=k[qa>>2]|0;k[qa>>2]=0;if(c|0)cn(c);c=k[pa>>2]|0;if(!c){r=sa;return D|0}d=k[ra>>2]|0;if((d|0)!=(c|0))k[ra>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(c);r=sa;return D|0}function cb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;L=r;r=r+16|0;o=L;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;a=n>>>3;t=k[4618]|0;c=t>>>a;if(c&3|0){a=(c&1^1)+a|0;c=18512+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[4622]|0)>>>0)Ba();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Ba()}else k[4618]=t&~(1<>2]=K|3;K=e+K+4|0;k[K>>2]=k[K>>2]|1;K=f;r=L;return K|0}s=k[4620]|0;if(n>>>0>s>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=18512+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[4622]|0)>>>0)Ba();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=t;break}else Ba()}else{i=t&~(1<>2]=n|3;d=f+n|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(s|0){e=k[4623]|0;b=s>>>3;c=18512+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[4622]|0)>>>0)Ba();else{j=a;l=b}}else{k[4618]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[4620]=g;k[4623]=d;K=h;r=L;return K|0}j=k[4619]|0;if(j){a=(j&0-j)+-1|0;J=a>>>12&16;a=a>>>J;I=a>>>5&8;a=a>>>I;K=a>>>2&4;a=a>>>K;h=a>>>1&2;a=a>>>h;i=a>>>1&1;i=k[18776+((I|J|K|h|i)+(a>>>i)<<2)>>2]|0;a=i;h=i;i=(k[i+4>>2]&-8)-n|0;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b)break}K=(k[b+4>>2]&-8)-n|0;J=K>>>0>>0;a=b;h=J?b:h;i=J?K:i}e=k[4622]|0;if(h>>>0>>0)Ba();g=h+n|0;if(h>>>0>=g>>>0)Ba();f=k[h+24>>2]|0;c=k[h+12>>2]|0;do if((c|0)==(h|0)){a=h+20|0;b=k[a>>2]|0;if(!b){a=h+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Ba();else{k[a>>2]=0;m=b;break}}else{d=k[h+8>>2]|0;if(d>>>0>>0)Ba();b=d+12|0;if((k[b>>2]|0)!=(h|0))Ba();a=c+8|0;if((k[a>>2]|0)==(h|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else Ba()}while(0);do if(f|0){b=k[h+28>>2]|0;a=18776+(b<<2)|0;if((h|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[4619]=j&~(1<>>0<(k[4622]|0)>>>0)Ba();b=f+16|0;if((k[b>>2]|0)==(h|0))k[b>>2]=m;else k[f+20>>2]=m;if(!m)break}a=k[4622]|0;if(m>>>0>>0)Ba();k[m+24>>2]=f;b=k[h+16>>2]|0;do if(b|0)if(b>>>0>>0)Ba();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[h+20>>2]|0;if(b|0)if(b>>>0<(k[4622]|0)>>>0)Ba();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(i>>>0<16){K=i+n|0;k[h+4>>2]=K|3;K=h+K+4|0;k[K>>2]=k[K>>2]|1}else{k[h+4>>2]=n|3;k[g+4>>2]=i|1;k[g+i>>2]=i;if(s|0){d=k[4623]|0;b=s>>>3;c=18512+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[4622]|0)>>>0)Ba();else{p=a;q=b}}else{k[4618]=t|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[4620]=i;k[4623]=g}K=h+8|0;r=L;return K|0}}}else if(a>>>0<=4294967231){a=a+11|0;n=a&-8;j=k[4619]|0;if(j){d=0-n|0;a=a>>>8;if(a)if(n>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;D=a<>>16&4;D=D<>>16&2;i=14-(p|q|i)+(D<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;a=k[18776+(i<<2)>>2]|0;a:do if(!a){c=0;e=0;D=86}else{e=0;h=a;g=n<<((i|0)==31?0:25-(i>>>1)|0);c=0;while(1){a=(k[h+4>>2]&-8)-n|0;if(a>>>0>>0)if(!a){a=h;d=0;c=h;D=90;break a}else{e=h;d=a}a=k[h+20>>2]|0;h=k[h+16+(g>>>31<<2)>>2]|0;c=(a|0)==0|(a|0)==(h|0)?c:a;a=(h|0)==0;if(a){D=86;break}else g=g<<(a&1^1)}}while(0);if((D|0)==86){if((c|0)==0&(e|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;c=k[18776+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=e;h=d}else{a=e;D=90}}if((D|0)==90)while(1){D=0;q=(k[c+4>>2]&-8)-n|0;e=q>>>0>>0;d=e?q:d;a=e?c:a;e=k[c+16>>2]|0;if(e|0){c=e;D=90;continue}c=k[c+20>>2]|0;if(!c){i=a;h=d;break}else D=90}if((i|0)!=0?h>>>0<((k[4620]|0)-n|0)>>>0:0){e=k[4622]|0;if(i>>>0>>0)Ba();g=i+n|0;if(i>>>0>=g>>>0)Ba();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){s=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Ba();else{k[a>>2]=0;s=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Ba();b=d+12|0;if((k[b>>2]|0)!=(i|0))Ba();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;s=c;break}else Ba()}while(0);do if(f){b=k[i+28>>2]|0;a=18776+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=s;if(!s){t=j&~(1<>>0<(k[4622]|0)>>>0)Ba();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=s;else k[f+20>>2]=s;if(!s){t=j;break}}a=k[4622]|0;if(s>>>0>>0)Ba();k[s+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)Ba();else{k[s+16>>2]=b;k[b+24>>2]=s;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[4622]|0)>>>0)Ba();else{k[s+20>>2]=b;k[b+24>>2]=s;t=j;break}else t=j}else t=j;while(0);do if(h>>>0>=16){k[i+4>>2]=n|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=18512+(b<<1<<2)|0;a=k[4618]|0;b=1<>2]|0;if(a>>>0<(k[4622]|0)>>>0)Ba();else{B=a;C=b}}else{k[4618]=a|b;B=c;C=c+8|0}k[C>>2]=g;k[B+12>>2]=g;k[g+8>>2]=B;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=18776+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){D=148;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=145;break}else{a=a<<1;d=b}}if((D|0)==145)if(c>>>0<(k[4622]|0)>>>0)Ba();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((D|0)==148){b=d+8|0;a=k[b>>2]|0;K=k[4622]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else Ba()}}else{K=h+n|0;k[i+4>>2]=K|3;K=i+K+4|0;k[K>>2]=k[K>>2]|1}while(0);K=i+8|0;r=L;return K|0}}}else n=-1;while(0);c=k[4620]|0;if(c>>>0>=n>>>0){b=c-n|0;a=k[4623]|0;if(b>>>0>15){K=a+n|0;k[4623]=K;k[4620]=b;k[K+4>>2]=b|1;k[K+b>>2]=b;k[a+4>>2]=n|3}else{k[4620]=0;k[4623]=0;k[a+4>>2]=c|3;K=a+c+4|0;k[K>>2]=k[K>>2]|1}K=a+8|0;r=L;return K|0}h=k[4621]|0;if(h>>>0>n>>>0){I=h-n|0;k[4621]=I;K=k[4624]|0;J=K+n|0;k[4624]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}if(!(k[4736]|0)){k[4738]=4096;k[4737]=4096;k[4739]=-1;k[4740]=-1;k[4741]=0;k[4729]=0;a=o&-16^1431655768;k[o>>2]=a;k[4736]=a;a=4096}else a=k[4738]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;l=g&e;if(l>>>0<=n>>>0){K=0;r=L;return K|0}a=k[4728]|0;if(a|0?(B=k[4726]|0,C=B+l|0,C>>>0<=B>>>0|C>>>0>a>>>0):0){K=0;r=L;return K|0}b:do if(!(k[4729]&4)){c=k[4624]|0;c:do if(c){d=18920;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(u=d+4|0,(a+(k[u>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){D=172;break c}else d=a}c=g-h&e;if(c>>>0<2147483647){a=qj(c|0)|0;if((a|0)==((k[d>>2]|0)+(k[u>>2]|0)|0)){if((a|0)!=(-1|0)){g=c;f=a;D=190;break b}}else{b=c;D=180}}}else D=172;while(0);do if(((D|0)==172?(f=qj(0)|0,(f|0)!=(-1|0)):0)?(b=f,v=k[4737]|0,w=v+-1|0,b=((w&b|0)==0?0:(w+b&0-v)-b|0)+l|0,v=k[4726]|0,w=b+v|0,b>>>0>n>>>0&b>>>0<2147483647):0){C=k[4728]|0;if(C|0?w>>>0<=v>>>0|w>>>0>C>>>0:0)break;a=qj(b|0)|0;if((a|0)==(f|0)){g=b;D=190;break b}else D=180}while(0);d:do if((D|0)==180){c=0-b|0;do if(i>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(x=k[4738]|0,x=j-b+x&0-x,x>>>0<2147483647):0)if((qj(x|0)|0)==(-1|0)){qj(c|0)|0;break d}else{b=x+b|0;break}while(0);if((a|0)!=(-1|0)){g=b;f=a;D=190;break b}}while(0);k[4729]=k[4729]|4;D=187}else D=187;while(0);if((((D|0)==187?l>>>0<2147483647:0)?(A=qj(l|0)|0,y=qj(0)|0,A>>>0>>0&((A|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-A|0,z>>>0>(n+40|0)>>>0):0){g=z;f=A;D=190}if((D|0)==190){b=(k[4726]|0)+g|0;k[4726]=b;if(b>>>0>(k[4727]|0)>>>0)k[4727]=b;j=k[4624]|0;do if(j){b=18920;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){D=200;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((D|0)==200?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;K=j+8|0;K=(K&7|0)==0?0:0-K&7;J=j+K|0;K=g-K+(k[4621]|0)|0;k[4624]=J;k[4621]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[4625]=k[4740];break}b=k[4622]|0;if(f>>>0>>0){k[4622]=f;h=f}else h=b;a=f+g|0;b=18920;while(1){if((k[b>>2]|0)==(a|0)){D=208;break}b=k[b+8>>2]|0;if(!b){a=18920;break}}if((D|0)==208)if(!(k[b+12>>2]&8)){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;k[m+4>>2]=n|3;do if((b|0)!=(j|0)){if((b|0)==(k[4623]|0)){K=(k[4620]|0)+i|0;k[4620]=K;k[4623]=l;k[l+4>>2]=K|1;k[l+K>>2]=K;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;e:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){I=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)Ba();else{k[c>>2]=0;I=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)Ba();a=e+12|0;if((k[a>>2]|0)!=(b|0))Ba();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;I=d;break}else Ba()}while(0);if(!f)break;a=k[b+28>>2]|0;c=18776+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(f>>>0<(k[4622]|0)>>>0)Ba();a=f+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=I;else k[f+20>>2]=I;if(!I)break e}else{k[c>>2]=I;if(I|0)break;k[4619]=k[4619]&~(1<>>0>>0)Ba();k[I+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)Ba();else{k[I+16>>2]=c;k[c+24>>2]=I;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[4622]|0)>>>0)Ba();else{k[I+20>>2]=a;k[a+24>>2]=I;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=18512+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)Ba();if((k[c+12>>2]|0)==(b|0))break;Ba()}while(0);if((d|0)==(c|0)){k[4618]=k[4618]&~(1<>>0>>0)Ba();a=d+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Ba()}while(0);k[c+12>>2]=d;k[F>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=18512+(b<<1<<2)|0;a=k[4618]|0;b=1<>2]|0;if(a>>>0>=(k[4622]|0)>>>0){J=a;K=b;break}Ba()}while(0);k[K>>2]=l;k[J+12>>2]=l;k[l+8>>2]=J;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=18776+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[4619]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){D=278;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=275;break}else{a=a<<1;d=b}}if((D|0)==275)if(c>>>0<(k[4622]|0)>>>0)Ba();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((D|0)==278){b=d+8|0;a=k[b>>2]|0;K=k[4622]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else Ba()}}else{K=(k[4621]|0)+i|0;k[4621]=K;k[4624]=l;k[l+4>>2]=K|1}while(0);K=m+8|0;r=L;return K|0}else a=18920;while(1){b=k[a>>2]|0;if(b>>>0<=j>>>0?(E=b+(k[a+4>>2]|0)|0,E>>>0>j>>>0):0)break;a=k[a+8>>2]|0}e=E+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;K=f+c|0;c=g+-40-c|0;k[4624]=K;k[4621]=c;k[K+4>>2]=c|1;k[K+c+4>>2]=40;k[4625]=k[4740];c=a+4|0;k[c>>2]=27;k[b>>2]=k[4730];k[b+4>>2]=k[4731];k[b+8>>2]=k[4732];k[b+12>>2]=k[4733];k[4730]=f;k[4731]=g;k[4733]=0;k[4732]=b;b=a+24|0;do{b=b+4|0;k[b>>2]=7}while((b+4|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=18512+(b<<1<<2)|0;a=k[4618]|0;b=1<>2]|0;if(a>>>0<(k[4622]|0)>>>0)Ba();else{G=a;H=b}}else{k[4618]=a|b;G=c;H=c+8|0}k[H>>2]=j;k[G+12>>2]=j;k[j+8>>2]=G;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;c=14-(I|J|c)+(K<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=18776+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[4619]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){D=304;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=301;break}else{a=a<<1;d=b}}if((D|0)==301)if(c>>>0<(k[4622]|0)>>>0)Ba();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((D|0)==304){b=d+8|0;a=k[b>>2]|0;K=k[4622]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else Ba()}}}else{K=k[4622]|0;if((K|0)==0|f>>>0>>0)k[4622]=f;k[4730]=f;k[4731]=g;k[4733]=0;k[4627]=k[4736];k[4626]=-1;b=0;do{K=18512+(b<<1<<2)|0;k[K+12>>2]=K;k[K+8>>2]=K;b=b+1|0}while((b|0)!=32);K=f+8|0;K=(K&7|0)==0?0:0-K&7;J=f+K|0;K=g+-40-K|0;k[4624]=J;k[4621]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[4625]=k[4740]}while(0);b=k[4621]|0;if(b>>>0>n>>>0){I=b-n|0;k[4621]=I;K=k[4624]|0;J=K+n|0;k[4624]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}}K=ul()|0;k[K>>2]=12;K=0;r=L;return K|0}function db(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,t=0,v=0.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,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,ja=0;ja=r;r=r+624|0;fa=ja+24|0;ga=ja+16|0;ha=ja+588|0;X=ja+576|0;ia=ja;S=ja+536|0;N=ja+8|0;O=ja+528|0;P=(a|0)!=0;Q=S+40|0;R=Q;S=S+39|0;T=N+4|0;U=ha;V=0-U|0;W=X+12|0;X=X+11|0;Y=W;Z=Y-U|0;_=-2-U|0;aa=Y+2|0;ba=fa+288|0;ca=ha+9|0;da=ca;ea=ha+8|0;g=0;f=0;q=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=ul()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[b>>0]|0;if(!(g<<24>>24)){L=243;break}else h=b;b:while(1){switch(g<<24>>24){case 37:{g=h;L=9;break b}case 0:{g=h;break b}default:{}}g=h+1|0;h=g;g=i[g>>0]|0}c:do if((L|0)==9)while(1){L=0;if((i[h+1>>0]|0)!=37)break c;g=g+1|0;h=h+2|0;if((i[h>>0]|0)==37)L=9;else break}while(0);g=g-b|0;if(P?(k[a>>2]&32|0)==0:0)qh(b,g,a)|0;if(g|0){b=h;continue}o=h+1|0;m=i[o>>0]|0;g=(m<<24>>24)+-48|0;if(g>>>0<10){t=(i[h+2>>0]|0)==36;o=t?h+3|0:o;w=t?g:-1;t=t?1:q;g=i[o>>0]|0}else{w=-1;t=q;g=m}h=(g<<24>>24)+-32|0;d:do if(h>>>0<32){m=0;do{if(!(1<>24)+-32|m;o=o+1|0;g=i[o>>0]|0;h=(g<<24>>24)+-32|0}while(h>>>0<32)}else m=0;while(0);do if(g<<24>>24!=42){h=(g<<24>>24)+-48|0;if(h>>>0<10){q=0;do{q=(q*10|0)+h|0;o=o+1|0;g=i[o>>0]|0;h=(g<<24>>24)+-48|0}while(h>>>0<10);if((q|0)<0){f=-1;break a}else K=t}else{q=0;K=t}}else{s=o+1|0;g=i[s>>0]|0;h=(g<<24>>24)+-48|0;if(h>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(h<<2)>>2]=10;g=k[d+((i[s>>0]|0)+-48<<3)>>2]|0;h=1;s=o+3|0}else{if(t|0){f=-1;break a}if(!P){q=0;K=0;o=s;break}h=(k[c>>2]|0)+(4-1)&~(4-1);g=k[h>>2]|0;k[c>>2]=h+4;h=0}K=(g|0)<0;q=K?0-g|0:g;m=K?m|8192:m;K=h;o=s;g=i[s>>0]|0}while(0);e:do if(g<<24>>24==46){g=o+1|0;h=i[g>>0]|0;if(h<<24>>24!=42){o=(h<<24>>24)+-48|0;if(o>>>0<10)h=0;else{x=0;break}while(1){h=(h*10|0)+o|0;g=g+1|0;o=(i[g>>0]|0)+-48|0;if(o>>>0>=10){x=h;break e}}}g=o+2|0;h=(i[g>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;x=k[d+((i[g>>0]|0)+-48<<3)>>2]|0;g=o+4|0;break}if(K|0){f=-1;break a}if(P){J=(k[c>>2]|0)+(4-1)&~(4-1);x=k[J>>2]|0;k[c>>2]=J+4}else x=0}else{x=-1;g=o}while(0);t=0;while(1){h=(i[g>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}J=g+1|0;h=i[15248+(t*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){t=o;g=J}else break}if(!(h<<24>>24)){f=-1;break}s=(w|0)>-1;do if(h<<24>>24==19)if(s){f=-1;break a}else L=51;else{if(s){k[e+(w<<2)>>2]=o;H=d+(w<<3)|0;I=k[H+4>>2]|0;L=ia;k[L>>2]=k[H>>2];k[L+4>>2]=I;L=51;break}if(!P){f=0;break a}Re(ia,o,c)}while(0);if((L|0)==51?(L=0,!P):0){g=0;q=K;b=J;continue}E=i[g>>0]|0;E=(t|0)!=0&(E&15|0)==3?E&-33:E;s=m&-65537;I=(m&8192|0)==0?m:s;f:do switch(E|0){case 110:switch((t&255)<<24>>24){case 0:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 1:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 2:{g=k[ia>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;q=K;b=J;continue a}case 3:{j[k[ia>>2]>>1]=f;g=0;q=K;b=J;continue a}case 4:{i[k[ia>>2]>>0]=f;g=0;q=K;b=J;continue a}case 6:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 7:{g=k[ia>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;q=K;b=J;continue a}default:{g=0;q=K;b=J;continue a}}case 112:{s=120;t=x>>>0>8?x:8;g=I|8;L=63;break}case 88:case 120:{s=E;t=x;g=I;L=63;break}case 111:{h=ia;g=k[h>>2]|0;h=k[h+4>>2]|0;if((g|0)==0&(h|0)==0)b=Q;else{b=Q;do{b=b+-1|0;i[b>>0]=g&7|48;g=Zk(g|0,h|0,3)|0;h=M}while(!((g|0)==0&(h|0)==0))}if(!(I&8)){h=0;m=15728;o=x;g=I;L=76}else{o=R-b|0;h=0;m=15728;o=(x|0)>(o|0)?x:o+1|0;g=I;L=76}break}case 105:case 100:{b=ia;g=k[b>>2]|0;b=k[b+4>>2]|0;if((b|0)<0){g=al(0,0,g|0,b|0)|0;b=M;h=ia;k[h>>2]=g;k[h+4>>2]=b;h=1;m=15728;L=75;break f}if(!(I&2048)){m=I&1;h=m;m=(m|0)==0?15728:15730;L=75}else{h=1;m=15729;L=75}break}case 117:{b=ia;h=0;m=15728;g=k[b>>2]|0;b=k[b+4>>2]|0;L=75;break}case 99:{i[S>>0]=k[ia>>2];b=S;w=0;t=15728;h=Q;g=1;break}case 109:{g=ul()|0;g=Ji(k[g>>2]|0)|0;L=81;break}case 115:{g=k[ia>>2]|0;g=g|0?g:15738;L=81;break}case 67:{k[N>>2]=k[ia>>2];k[T>>2]=0;k[ia>>2]=N;s=-1;h=N;L=85;break}case 83:{g=k[ia>>2]|0;if(!x){ai(a,32,q,0,I);g=0;L=96}else{s=x;h=g;L=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ia>>3];k[ga>>2]=0;p[u>>3]=n;if((k[u+4>>2]|0)>=0){g=I&1;if(!(I&2048)){G=g;H=(g|0)==0?15746:15751}else{G=1;H=15748}}else{n=-n;G=1;H=15745}p[u>>3]=n;F=k[u+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Qm(n,ga)*2.0;b=v!=0.0;if(b)k[ga>>2]=(k[ga>>2]|0)+-1;z=E|32;if((z|0)==97){o=E&32;w=(o|0)==0?H:H+9|0;t=G|2;g=12-x|0;do if(!(x>>>0>11|(g|0)==0)){n=8.0;do{g=g+-1|0;n=n*16.0}while((g|0)!=0);if((i[w>>0]|0)==45){n=-(n+(-v-n));break}else{n=v+n-n;break}}else n=v;while(0);b=k[ga>>2]|0;g=(b|0)<0?0-b|0:b;g=ui(g,((g|0)<0)<<31>>31,W)|0;if((g|0)==(W|0)){i[X>>0]=48;g=X}i[g+-1>>0]=(b>>31&2)+43;s=g+-2|0;i[s>>0]=E+15;m=(x|0)<1;h=(I&8|0)==0;g=ha;do{H=~~n;b=g+1|0;i[g>>0]=l[15712+H>>0]|o;n=(n-+(H|0))*16.0;do if((b-U|0)==1){if(h&(m&n==0.0)){g=b;break}i[b>>0]=46;g=g+2|0}else g=b;while(0)}while(n!=0.0);m=s;h=(x|0)!=0&(_+g|0)<(x|0)?aa+x-m|0:Z-m+g|0;o=h+t|0;ai(a,32,q,o,I);if(!(k[a>>2]&32))qh(w,t,a)|0;ai(a,48,q,o,I^65536);b=g-U|0;if(!(k[a>>2]&32))qh(ha,b,a)|0;g=Y-m|0;ai(a,48,h-(b+g)|0,0,0);if(!(k[a>>2]&32))qh(s,g,a)|0;ai(a,32,q,o,I^8192);g=(o|0)<(q|0)?q:o;break}g=(x|0)<0?6:x;if(b){b=(k[ga>>2]|0)+-28|0;k[ga>>2]=b;n=v*268435456.0}else{n=v;b=k[ga>>2]|0}F=(b|0)<0?fa:ba;h=F;do{D=~~n>>>0;k[h>>2]=D;h=h+4|0;n=(n-+(D>>>0))*1.0e9}while(n!=0.0);if((b|0)>0){m=F;s=h;while(1){o=(b|0)>29?29:b;b=s+-4|0;do if(b>>>0>=m>>>0){h=0;do{C=Tk(k[b>>2]|0,0,o|0)|0;C=sl(C|0,M|0,h|0,0)|0;D=M;B=nk(C|0,D|0,1e9,0)|0;k[b>>2]=B;h=dm(C|0,D|0,1e9,0)|0;b=b+-4|0}while(b>>>0>=m>>>0);if(!h)break;m=m+-4|0;k[m>>2]=h}while(0);h=s;while(1){if(h>>>0<=m>>>0)break;b=h+-4|0;if(!(k[b>>2]|0))h=b;else break}b=(k[ga>>2]|0)-o|0;k[ga>>2]=b;if((b|0)>0)s=h;else break}}else m=F;if((b|0)<0){x=((g+25|0)/9|0)+1|0;y=(z|0)==102;do{w=0-b|0;w=(w|0)>9?9:w;do if(m>>>0>>0){o=(1<>>w;t=0;b=m;do{D=k[b>>2]|0;k[b>>2]=(D>>>w)+t;t=$(D&o,s)|0;b=b+4|0}while(b>>>0>>0);b=(k[m>>2]|0)==0?m+4|0:m;if(!t){m=b;b=h;break}k[h>>2]=t;m=b;b=h+4|0}else{m=(k[m>>2]|0)==0?m+4|0:m;b=h}while(0);h=y?F:m;h=(b-h>>2|0)>(x|0)?h+(x<<2)|0:b;b=(k[ga>>2]|0)+w|0;k[ga>>2]=b}while((b|0)<0)}D=F;do if(m>>>0>>0){b=(D-m>>2)*9|0;s=k[m>>2]|0;if(s>>>0<10)break;else o=10;do{o=o*10|0;b=b+1|0}while(s>>>0>=o>>>0)}else b=0;while(0);A=(z|0)==103;B=(g|0)!=0;o=g-((z|0)!=102?b:0)+((B&A)<<31>>31)|0;if((o|0)<(((h-D>>2)*9|0)+-9|0)){o=o+9216|0;t=F+4+(((o|0)/9|0)+-1024<<2)|0;o=((o|0)%9|0)+1|0;if((o|0)<9){s=10;do{s=s*10|0;o=o+1|0}while((o|0)!=9)}else s=10;x=k[t>>2]|0;y=(x>>>0)%(s>>>0)|0;o=(t+4|0)==(h|0);do if(o&(y|0)==0)o=t;else{v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(s|0)/2|0;if(y>>>0>>0)n=.5;else n=o&(y|0)==(w|0)?1.0:1.5;do if(G){if((i[H>>0]|0)!=45)break;n=-n;v=-v}while(0);o=x-y|0;k[t>>2]=o;if(!(v+n!=v)){o=t;break}C=o+s|0;k[t>>2]=C;if(C>>>0>999999999){o=t;while(1){b=o+-4|0;k[o>>2]=0;if(b>>>0>>0){m=m+-4|0;k[m>>2]=0}C=(k[b>>2]|0)+1|0;k[b>>2]=C;if(C>>>0>999999999)o=b;else{t=b;break}}}b=(D-m>>2)*9|0;s=k[m>>2]|0;if(s>>>0<10){o=t;break}else o=10;do{o=o*10|0;b=b+1|0}while(s>>>0>=o>>>0);o=t}while(0);C=o+4|0;h=h>>>0>C>>>0?C:h}y=0-b|0;C=h;while(1){if(C>>>0<=m>>>0){z=0;break}h=C+-4|0;if(!(k[h>>2]|0))C=h;else{z=1;break}}do if(A){g=(B&1^1)+g|0;if((g|0)>(b|0)&(b|0)>-5){t=E+-1|0;g=g+-1-b|0}else{t=E+-2|0;g=g+-1|0}h=I&8;if(h|0){w=h;break}do if(z){s=k[C+-4>>2]|0;if(!s){o=9;break}if(!((s>>>0)%10|0)){o=0;h=10}else{o=0;break}do{h=h*10|0;o=o+1|0}while(!((s>>>0)%(h>>>0)|0|0))}else o=9;while(0);h=((C-D>>2)*9|0)+-9|0;if((t|32|0)==102){w=h-o|0;w=(w|0)<0?0:w;g=(g|0)<(w|0)?g:w;w=0;break}else{w=h+b-o|0;w=(w|0)<0?0:w;g=(g|0)<(w|0)?g:w;w=0;break}}else{t=E;w=I&8}while(0);x=g|w;o=(x|0)!=0&1;s=(t|32|0)==102;if(s){y=0;b=(b|0)>0?b:0}else{h=(b|0)<0?y:b;h=ui(h,((h|0)<0)<<31>>31,W)|0;if((Y-h|0)<2)do{h=h+-1|0;i[h>>0]=48}while((Y-h|0)<2);i[h+-1>>0]=(b>>31&2)+43;b=h+-2|0;i[b>>0]=t;y=b;b=Y-b|0}A=G+1+g+o+b|0;ai(a,32,q,A,I);if(!(k[a>>2]&32))qh(H,G,a)|0;ai(a,48,q,A,I^65536);do if(s){m=m>>>0>F>>>0?F:m;h=m;do{b=ui(k[h>>2]|0,0,ca)|0;do if((h|0)==(m|0)){if((b|0)!=(ca|0))break;i[ea>>0]=48;b=ea}else{if(b>>>0<=ha>>>0)break;Vi(ha|0,48,b-U|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}while(0);if(!(k[a>>2]&32))qh(b,da-b|0,a)|0;h=h+4|0}while(h>>>0<=F>>>0);do if(x|0){if(k[a>>2]&32|0)break;qh(15780,1,a)|0}while(0);if((g|0)>0&h>>>0>>0)while(1){b=ui(k[h>>2]|0,0,ca)|0;if(b>>>0>ha>>>0){Vi(ha|0,48,b-U|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}if(!(k[a>>2]&32))qh(b,(g|0)>9?9:g,a)|0;h=h+4|0;b=g+-9|0;if(!((g|0)>9&h>>>0>>0)){g=b;break}else g=b}ai(a,48,g+9|0,9,0)}else{t=z?C:m+4|0;if((g|0)>-1){s=(w|0)==0;o=m;do{b=ui(k[o>>2]|0,0,ca)|0;if((b|0)==(ca|0)){i[ea>>0]=48;b=ea}do if((o|0)==(m|0)){h=b+1|0;if(!(k[a>>2]&32))qh(b,1,a)|0;if(s&(g|0)<1){b=h;break}if(k[a>>2]&32|0){b=h;break}qh(15780,1,a)|0;b=h}else{if(b>>>0<=ha>>>0)break;Vi(ha|0,48,b+V|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}while(0);h=da-b|0;if(!(k[a>>2]&32))qh(b,(g|0)>(h|0)?h:g,a)|0;g=g-h|0;o=o+4|0}while(o>>>0>>0&(g|0)>-1)}ai(a,48,g+18|0,18,0);if(k[a>>2]&32|0)break;qh(y,Y-y|0,a)|0}while(0);ai(a,32,q,A,I^8192);g=(A|0)<(q|0)?q:A}else{o=(E&32|0)!=0;m=n!=n|0.0!=0.0;b=m?0:G;h=b+3|0;ai(a,32,q,h,s);g=k[a>>2]|0;if(!(g&32)){qh(H,b,a)|0;g=k[a>>2]|0}if(!(g&32))qh(m?(o?15772:15776):o?15764:15768,3,a)|0;ai(a,32,q,h,I^8192);g=(h|0)<(q|0)?q:h}while(0);q=K;b=J;continue a}default:{w=0;t=15728;h=Q;g=x;s=I}}while(0);g:do if((L|0)==63){m=ia;h=k[m>>2]|0;m=k[m+4>>2]|0;o=s&32;if((h|0)==0&(m|0)==0){b=Q;h=0;m=0}else{b=Q;do{b=b+-1|0;i[b>>0]=l[15712+(h&15)>>0]|o;h=Zk(h|0,m|0,4)|0;m=M}while(!((h|0)==0&(m|0)==0));m=ia;h=k[m>>2]|0;m=k[m+4>>2]|0}m=(g&8|0)==0|(h|0)==0&(m|0)==0;h=m?0:2;m=m?15728:15728+(s>>4)|0;o=t;L=76}else if((L|0)==75){b=ui(g,b,Q)|0;o=x;g=I;L=76}else if((L|0)==81){L=0;I=Wg(g,0,x)|0;H=(I|0)==0;b=g;w=0;t=15728;h=H?g+x|0:I;g=H?x:I-g|0}else if((L|0)==85){L=0;o=h;g=0;b=0;while(1){m=k[o>>2]|0;if(!m)break;b=Wl(O,m)|0;if((b|0)<0|b>>>0>(s-g|0)>>>0)break;g=b+g|0;if(s>>>0>g>>>0)o=o+4|0;else break}if((b|0)<0){f=-1;break a}ai(a,32,q,g,I);if(!g){g=0;L=96}else{m=0;while(1){b=k[h>>2]|0;if(!b){L=96;break g}b=Wl(O,b)|0;m=b+m|0;if((m|0)>(g|0)){L=96;break g}if(!(k[a>>2]&32))qh(O,b,a)|0;if(m>>>0>=g>>>0){L=96;break}else h=h+4|0}}}while(0);if((L|0)==96){L=0;ai(a,32,q,g,I^8192);g=(q|0)>(g|0)?q:g;q=K;b=J;continue}if((L|0)==76){L=0;s=(o|0)>-1?g&-65537:g;g=ia;g=(k[g>>2]|0)!=0|(k[g+4>>2]|0)!=0;if((o|0)!=0|g){g=(g&1^1)+(R-b)|0;w=h;t=m;h=Q;g=(o|0)>(g|0)?o:g}else{b=Q;w=h;t=m;h=Q;g=0}}o=h-b|0;h=(g|0)<(o|0)?o:g;m=h+w|0;g=(q|0)<(m|0)?m:q;ai(a,32,g,m,s);if(!(k[a>>2]&32))qh(t,w,a)|0;ai(a,48,g,m,s^65536);ai(a,48,h,o,0);if(!(k[a>>2]&32))qh(b,o,a)|0;ai(a,32,g,m,s^8192);q=K;b=J}h:do if((L|0)==243)if(!a)if(!q)f=0;else{f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;Re(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}}while(0);r=ja;return f|0}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;b=j;h=j+8|0;c=j+4|0;k[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;k[c>>2]=a-e;d=(tj(6232,6424,c,b)|0)-6232>>2;a=0;f=d;e=(k[6232+(d<<2)>>2]|0)+e|0;a:while(1){b=5;while(1){if(b>>>0>=47){d=211;i=8;break}c=k[6040+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){i=107;break a}if((e|0)==($(d,c)|0))break;else b=b+1|0}b:do if((i|0)==8){c:while(1){i=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=($(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==($(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}c=(e|0)==($(c,b)|0);b=c?b:d+210|0;c=c?9:0}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;i=8;break}default:break c}}if(c){i=108;break a}}while(0);d=f+1|0;c=(d|0)==48;e=(c&1)+g|0;d=c?0:d;f=d;g=e;e=(k[6232+(d<<2)>>2]|0)+(e*210|0)|0}if((i|0)==107){k[h>>2]=e;a=e;break}else if((i|0)==108){k[h>>2]=e;break}}else{a=tj(6040,6232,h,b)|0;a=k[a>>2]|0}while(0);r=j;return a|0}function fb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=r;r=r+112|0;V=ha+100|0;U=ha+96|0;ga=ha+48|0;fa=ha+32|0;Y=ha+104|0;Z=ha+8|0;W=ha+4|0;X=ha;ea=a+8|0;k[ea>>2]=e;do if(d|0){f=k[b>>2]|0;m=a+16|0;k[m>>2]=f;n=a+12|0;k[n>>2]=f;if((d|0)>1){j=1;h=f;while(1){g=k[b+(j<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[m>>2]=g;f=g;g=h}else g=h;else k[n>>2]=g;j=j+1|0;if((j|0)==(d|0))break;else h=g}}else g=f;T=1-g+f|0;k[a+20>>2]=T;f=(T|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(T&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;m=k[g>>2]|0;h=k[f>>2]|0;j=m-h>>2;if(j>>>0>>0){jh(f,e-j|0);break}if(j>>>0>e>>>0?(o=h+(e<<2)|0,(m|0)!=(o|0)):0)k[g>>2]=m+(~((m+-4-o|0)>>>2)<<2)}while(0);S=k[a+48>>2]|0;T=k[a+52>>2]|0;f=ga;g=f+48|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if(!e){f=0;g=0}else{jh(ga,e);f=k[ga+12>>2]|0;g=k[ga+16>>2]|0}h=ga+16|0;j=g-f>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(p=f+(e<<2)|0,(g|0)!=(p|0)):0)k[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else jh(ga+12|0,e-j|0);f=ga+24|0;g=ga+28|0;m=k[g>>2]|0;j=k[f>>2]|0;h=m-j>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(q=j+(e<<2)|0,(m|0)!=(q|0)):0)k[g>>2]=m+(~((m+-4-q|0)>>>2)<<2)}else jh(f,e-h|0);f=ga+36|0;g=ga+40|0;m=k[g>>2]|0;j=k[f>>2]|0;h=m-j>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(s=j+(e<<2)|0,(m|0)!=(s|0)):0)k[g>>2]=m+(~((m+-4-s|0)>>>2)<<2)}else jh(f,e-h|0);bj(fa,e);A=a+56|0;g=k[A>>2]|0;j=k[g+4>>2]|0;h=k[g>>2]|0;f=j-h|0;a:do if((f|0)>4){B=S+64|0;C=S+28|0;D=(e|0)>0;E=Z+4|0;F=Z+8|0;G=Z+12|0;H=a+16|0;I=a+32|0;J=a+12|0;K=a+28|0;L=a+20|0;M=a+24|0;N=Z+16|0;O=fa+4|0;P=Y+1|0;Q=e<<2;v=f>>2;f=j;b:while(1){z=v+-1|0;if(f-h>>2>>>0<=z>>>0){R=22;break}t=k[h+(z<<2)>>2]|0;p=t+((t|0)<0?0:((t>>>0)%3|0|0)==0?2:-1)|0;u=p>>>5;q=1<<(p&31);s=(p|0)<0;o=1;f=0;g=t;c:while(1){do{if((g|0)<=-1){x=f;break c}j=k[ga+(f*12|0)>>2]|0;if(((k[(k[S>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(aa=k[(k[(k[B>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(aa|0)>=0):0)?(da=k[C>>2]|0,y=k[T>>2]|0,ba=k[y+(k[da+(aa<<2)>>2]<<2)>>2]|0,ca=aa+1|0,ca=k[y+(k[da+((((ca|0)%3|0|0)==0?aa+-2|0:ca)<<2)>>2]<<2)>>2]|0,da=k[y+(k[da+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(ba|0)<(z|0)&(ca|0)<(z|0)&(da|0)<(z|0)):0){m=$(ba,e)|0;n=$(ca,e)|0;d=$(da,e)|0;if(D){h=0;do{k[j+(h<<2)>>2]=(k[b+(h+d<<2)>>2]|0)+(k[b+(h+n<<2)>>2]|0)-(k[b+(h+m<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){x=4;break c}}do if(o){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[S>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[B>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;j=g+1|0;if((g|0)>=0)g=((j|0)%3|0|0)==0?g+-2|0:j}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[S>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[B>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(t|0)){x=f;break c}}while(!(o&(g|0)<0));g=(q&k[h+(u<<2)>>2]|0)!=0;if(g|s){o=0;g=g?-1073741824:p;continue}g=k[(k[(k[B>>2]|0)+12>>2]|0)+(p<<2)>>2]|0;if((g|0)<0){o=0;continue}if(!((g>>>0)%3|0)){o=0;g=g+2|0;continue}else{o=0;g=g+-1|0;continue}}y=$(z,e)|0;k[Z>>2]=2147483647;i[E>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;h=$(v+-2|0,e)|0;if(D){g=0;f=0;do{w=(k[b+(g+y<<2)>>2]|0)-(k[b+(g+h<<2)>>2]|0)|0;f=((w|0)>-1?w:0-w|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;k[Z>>2]=f;i[E>>0]=0;k[F>>2]=0;w=b+(h<<2)|0;lf(G,w,w+(e<<2)|0);if((x|0)>=1){p=Y+x|0;o=p+-1|0;q=(o|0)==(Y|0);s=p+-2|0;t=P>>>0>>0;u=o>>>0>Y>>>0;v=0;w=1;while(1){v=v+1|0;Vi(Y|0,1,x|0)|0;Vi(Y|0,0,v|0)|0;d:while(1){if(D){Vi(k[fa>>2]|0,0,Q|0)|0;m=k[fa>>2]|0;j=0;f=0;do{if(!(i[Y+j>>0]|0)){h=k[ga+(j*12|0)>>2]|0;g=0;do{d=m+(g<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=(1<>0]|0))f=(1<>2]|0;h=0;g=0;do{n=j+(h<<2)|0;d=(k[n>>2]|0)/(w|0)|0;k[n>>2]=d;d=d-(k[b+(h+y<<2)>>2]|0)|0;g=((d|0)>-1?d:0-d|0)+g|0;h=h+1|0}while((h|0)!=(e|0))}else g=0;if((g|0)<(k[Z>>2]|0)){k[Z>>2]=g;i[E>>0]=f;k[F>>2]=w;k[W>>2]=k[fa>>2];k[X>>2]=k[O>>2];k[U>>2]=k[W>>2];k[V>>2]=k[X>>2];hf(G,U,V)}if(q)break;_=i[o>>0]|0;m=-1;d=_;while(1){f=m+-1|0;n=p+f|0;j=d;d=i[n>>0]|0;if((d&255)<(j&255))break;if((n|0)==(Y|0)){R=79;break d}else m=f}f=p+m|0;if((d&255)<(_&255)){h=o;g=_}else{g=p;j=o;while(1){g=i[g+-2>>0]|0;h=j+-1|0;if((d&255)<(g&255))break;else{g=j;j=h}}}i[n>>0]=g;i[h>>0]=d;if((m|0)<-1)g=o;else continue;while(1){d=i[f>>0]|0;i[f>>0]=i[g>>0]|0;i[g>>0]=d;f=f+1|0;g=g+-1|0;if(f>>>0>=g>>>0)continue d}}if(((R|0)==79?(R=0,u):0)?(d=i[Y>>0]|0,i[Y>>0]=_,i[o>>0]=d,t):0){f=s;g=P;do{d=i[g>>0]|0;i[g>>0]=i[f>>0]|0;i[f>>0]=d;g=g+1|0;f=f+-1|0}while(g>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;d=a+60+(n*12|0)|0;m=a+60+(n*12|0)+4|0;n=a+60+(n*12|0)+8|0;j=0;do{f=k[m>>2]|0;g=k[n>>2]|0;h=(f|0)==(g<<5|0);if(!(l[E>>0]&1<>>0<1073741823?(R>>>0>>0?f:R):2147483647);f=k[m>>2]|0}k[m>>2]=f+1;R=(k[d>>2]|0)+(f>>>5<<2)|0;k[R>>2]=k[R>>2]|1<<(f&31)}else{if(h){if((f+1|0)<0){R=106;break b}R=g<<6;f=f+32&-32;Xg(d,g<<5>>>0<1073741823?(R>>>0>>0?f:R):2147483647);f=k[m>>2]|0}k[m>>2]=f+1;R=(k[d>>2]|0)+(f>>>5<<2)|0;k[R>>2]=k[R>>2]&~(1<<(f&31))}j=j+1|0}while((j|0)<(x|0))}}n=b+(y<<2)|0;d=k[G>>2]|0;if((k[ea>>2]|0)>0){m=0;do{j=k[d+(m<<2)>>2]|0;f=k[H>>2]|0;do if((j|0)<=(f|0)){f=k[J>>2]|0;g=k[I>>2]|0;h=g+(m<<2)|0;if((j|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=j;h=g;break}}else{h=k[I>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[ea>>2]|0}while((m|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+y<<2)>>2]=(k[n+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[ea>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+y<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[K>>2]|0)){if((h|0)>(k[M>>2]|0))k[g>>2]=h-(k[L>>2]|0)}else k[g>>2]=(k[L>>2]|0)+h;f=f+1|0}while((f|0)<(k[ea>>2]|0));R=110}else R=110}else R=111}else R=110;if((R|0)==110?(R=0,d|0):0)R=111;if((R|0)==111){R=0;f=k[N>>2]|0;if((f|0)!=(d|0))k[N>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(d)}if((z|0)<=1)break a;f=k[A>>2]|0;v=z;g=f;h=k[f>>2]|0;f=k[f+4>>2]|0}if((R|0)==22)gm(g);else if((R|0)==101)hm(d);else if((R|0)==106)hm(d)}while(0);p=k[ga>>2]|0;if((e|0)>0){f=0;do{k[p+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}if((k[ea>>2]|0)>0){n=a+16|0;d=a+32|0;o=a+12|0;m=0;do{j=k[p+(m<<2)>>2]|0;f=k[n>>2]|0;do if((j|0)<=(f|0)){f=k[o>>2]|0;g=k[d>>2]|0;h=g+(m<<2)|0;if((j|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=j;h=g;break}}else{h=k[d>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[ea>>2]|0}while((m|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[ea>>2]|0}while((f|0)<(g|0));if((g|0)>0){m=a+28|0;n=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;j=k[h>>2]|0;if((j|0)>=(k[m>>2]|0)){if((j|0)>(k[g>>2]|0))k[h>>2]=j-(k[n>>2]|0)}else k[h>>2]=(k[n>>2]|0)+j;f=f+1|0}while((f|0)<(k[ea>>2]|0))}}}h=k[fa>>2]|0;j=h;if(h|0){f=fa+4|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-j|0)>>>2)<<2);cn(h)}f=k[ga+36>>2]|0;g=f;if(f|0){h=ga+40|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}f=k[ga+24>>2]|0;g=f;if(f|0){h=ga+28|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}f=k[ga+12>>2]|0;g=f;if(f|0){h=ga+16|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}h=k[ga>>2]|0;if(!h){r=ha;return 1}f=ga+4|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-h|0)>>>2)<<2);cn(h);r=ha;return 1}function gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0;da=r;r=r+112|0;V=da+100|0;U=da+96|0;ca=da+48|0;ba=da+32|0;Y=da+104|0;Z=da+8|0;W=da+4|0;X=da;aa=a+8|0;k[aa>>2]=e;do if(d|0){f=k[b>>2]|0;m=a+16|0;k[m>>2]=f;n=a+12|0;k[n>>2]=f;if((d|0)>1){j=1;h=f;while(1){g=k[b+(j<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[m>>2]=g;f=g;g=h}else g=h;else k[n>>2]=g;j=j+1|0;if((j|0)==(d|0))break;else h=g}}else g=f;T=1-g+f|0;k[a+20>>2]=T;f=(T|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(T&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;m=k[g>>2]|0;h=k[f>>2]|0;j=m-h>>2;if(j>>>0>>0){jh(f,e-j|0);break}if(j>>>0>e>>>0?(o=h+(e<<2)|0,(m|0)!=(o|0)):0)k[g>>2]=m+(~((m+-4-o|0)>>>2)<<2)}while(0);S=k[a+48>>2]|0;T=k[a+52>>2]|0;f=ca;g=f+48|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if(!e){f=0;g=0}else{jh(ca,e);f=k[ca+12>>2]|0;g=k[ca+16>>2]|0}h=ca+16|0;j=g-f>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(p=f+(e<<2)|0,(g|0)!=(p|0)):0)k[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else jh(ca+12|0,e-j|0);f=ca+24|0;g=ca+28|0;m=k[g>>2]|0;j=k[f>>2]|0;h=m-j>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(q=j+(e<<2)|0,(m|0)!=(q|0)):0)k[g>>2]=m+(~((m+-4-q|0)>>>2)<<2)}else jh(f,e-h|0);f=ca+36|0;g=ca+40|0;m=k[g>>2]|0;j=k[f>>2]|0;h=m-j>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(s=j+(e<<2)|0,(m|0)!=(s|0)):0)k[g>>2]=m+(~((m+-4-s|0)>>>2)<<2)}else jh(f,e-h|0);bj(ba,e);B=a+56|0;g=k[B>>2]|0;j=k[g+4>>2]|0;h=k[g>>2]|0;f=j-h|0;a:do if((f|0)>4){C=S+12|0;D=(e|0)>0;E=Z+4|0;F=Z+8|0;G=Z+12|0;H=a+16|0;I=a+32|0;J=a+12|0;K=a+28|0;L=a+20|0;M=a+24|0;N=Z+16|0;O=ba+4|0;P=Y+1|0;Q=e<<2;y=f>>2;f=j;b:while(1){A=y+-1|0;if(f-h>>2>>>0<=A>>>0){R=22;break}w=k[h+(A<<2)>>2]|0;v=(((w>>>0)%3|0|0)==0?2:-1)+w|0;x=(w|v|0)<0;u=(w|0)<0?w:v;t=1;g=0;f=w;c:while(1){do{if((f|0)<=-1){x=g;break c}q=k[ca+(g*12|0)>>2]|0;s=k[C>>2]|0;j=k[s+(f<<2)>>2]|0;if((j|0)>=0){n=k[S>>2]|0;m=(j>>>0)%3|0;d=k[T>>2]|0;p=k[d+(k[n+(((j>>>0)/3|0)*12|0)+(m<<2)>>2]<<2)>>2]|0;h=j+1|0;h=((h|0)%3|0|0)==0?j+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[n+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;o=k[d+(h<<2)>>2]|0;h=((m|0)==0?2:-1)+j|0;if((h|0)<0)h=-1073741824;else h=k[n+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;h=k[d+(h<<2)>>2]|0;if((p|0)<(A|0)&(o|0)<(A|0)&(h|0)<(A|0)){n=$(p,e)|0;m=$(o,e)|0;j=$(h,e)|0;if(D){h=0;do{k[q+(h<<2)>>2]=(k[b+(h+j<<2)>>2]|0)+(k[b+(h+m<<2)>>2]|0)-(k[b+(h+n<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}g=g+1|0;if((g|0)==4){x=4;break c}}}do if(t){z=f+1|0;f=((z|0)%3|0|0)==0?f+-2|0:z;if((f|0)>=0){f=k[s+(f<<2)>>2]|0;h=f+1|0;if((f|0)>=0)f=((h|0)%3|0|0)==0?f+-2|0:h}}else{f=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((f|0)>=0){f=k[s+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}while(0);if((f|0)==(w|0)){x=g;break c}}while(!(t&(f|0)<0));if(x){t=0;f=u;continue}f=k[s+(v<<2)>>2]|0;if((f|0)<0){t=0;continue}if(!((f>>>0)%3|0)){t=0;f=f+2|0;continue}else{t=0;f=f+-1|0;continue}}z=$(A,e)|0;k[Z>>2]=2147483647;i[E>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;h=$(y+-2|0,e)|0;if(D){g=0;f=0;do{y=(k[b+(g+z<<2)>>2]|0)-(k[b+(g+h<<2)>>2]|0)|0;f=((y|0)>-1?y:0-y|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;k[Z>>2]=f;i[E>>0]=0;k[F>>2]=0;y=b+(h<<2)|0;lf(G,y,y+(e<<2)|0);if((x|0)>=1){p=Y+x|0;o=p+-1|0;q=(o|0)==(Y|0);s=p+-2|0;t=P>>>0>>0;u=o>>>0>Y>>>0;v=0;w=1;while(1){v=v+1|0;Vi(Y|0,1,x|0)|0;Vi(Y|0,0,v|0)|0;d:while(1){if(D){Vi(k[ba>>2]|0,0,Q|0)|0;m=k[ba>>2]|0;j=0;f=0;do{if(!(i[Y+j>>0]|0)){h=k[ca+(j*12|0)>>2]|0;g=0;do{y=m+(g<<2)|0;k[y>>2]=(k[y>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=(1<>0]|0))f=(1<>2]|0;h=0;g=0;do{d=j+(h<<2)|0;y=(k[d>>2]|0)/(w|0)|0;k[d>>2]=y;y=y-(k[b+(h+z<<2)>>2]|0)|0;g=((y|0)>-1?y:0-y|0)+g|0;h=h+1|0}while((h|0)!=(e|0))}else g=0;if((g|0)<(k[Z>>2]|0)){k[Z>>2]=g;i[E>>0]=f;k[F>>2]=w;k[W>>2]=k[ba>>2];k[X>>2]=k[O>>2];k[U>>2]=k[W>>2];k[V>>2]=k[X>>2];hf(G,U,V)}if(q)break;_=i[o>>0]|0;m=-1;d=_;while(1){f=m+-1|0;n=p+f|0;y=d;d=i[n>>0]|0;if((d&255)<(y&255))break;if((n|0)==(Y|0)){R=80;break d}else m=f}f=p+m|0;if((d&255)<(_&255)){h=o;g=_}else{g=p;j=o;while(1){g=i[g+-2>>0]|0;h=j+-1|0;if((d&255)<(g&255))break;else{g=j;j=h}}}i[n>>0]=g;i[h>>0]=d;if((m|0)<-1)g=o;else continue;while(1){y=i[f>>0]|0;i[f>>0]=i[g>>0]|0;i[g>>0]=y;f=f+1|0;g=g+-1|0;if(f>>>0>=g>>>0)continue d}}if(((R|0)==80?(R=0,u):0)?(y=i[Y>>0]|0,i[Y>>0]=_,i[o>>0]=y,t):0){f=s;g=P;do{y=i[g>>0]|0;i[g>>0]=i[f>>0]|0;i[f>>0]=y;g=g+1|0;f=f+-1|0}while(g>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;d=a+60+(n*12|0)|0;m=a+60+(n*12|0)+4|0;n=a+60+(n*12|0)+8|0;j=0;do{f=k[m>>2]|0;g=k[n>>2]|0;h=(f|0)==(g<<5|0);if(!(l[E>>0]&1<>>0<1073741823?(R>>>0>>0?f:R):2147483647);f=k[m>>2]|0}k[m>>2]=f+1;R=(k[d>>2]|0)+(f>>>5<<2)|0;k[R>>2]=k[R>>2]|1<<(f&31)}else{if(h){if((f+1|0)<0){R=107;break b}R=g<<6;f=f+32&-32;Xg(d,g<<5>>>0<1073741823?(R>>>0>>0?f:R):2147483647);f=k[m>>2]|0}k[m>>2]=f+1;R=(k[d>>2]|0)+(f>>>5<<2)|0;k[R>>2]=k[R>>2]&~(1<<(f&31))}j=j+1|0}while((j|0)<(x|0))}}n=b+(z<<2)|0;d=k[G>>2]|0;if((k[aa>>2]|0)>0){m=0;do{j=k[d+(m<<2)>>2]|0;f=k[H>>2]|0;do if((j|0)<=(f|0)){f=k[J>>2]|0;g=k[I>>2]|0;h=g+(m<<2)|0;if((j|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=j;h=g;break}}else{h=k[I>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[aa>>2]|0}while((m|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+z<<2)>>2]=(k[n+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[aa>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+z<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[K>>2]|0)){if((h|0)>(k[M>>2]|0))k[g>>2]=h-(k[L>>2]|0)}else k[g>>2]=(k[L>>2]|0)+h;f=f+1|0}while((f|0)<(k[aa>>2]|0));R=111}else R=111}else R=112}else R=111;if((R|0)==111?(R=0,d|0):0)R=112;if((R|0)==112){R=0;f=k[N>>2]|0;if((f|0)!=(d|0))k[N>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(d)}if((A|0)<=1)break a;f=k[B>>2]|0;y=A;g=f;h=k[f>>2]|0;f=k[f+4>>2]|0}if((R|0)==22)gm(g);else if((R|0)==102)hm(d);else if((R|0)==107)hm(d)}while(0);p=k[ca>>2]|0;if((e|0)>0){f=0;do{k[p+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(e|0))}if((k[aa>>2]|0)>0){n=a+16|0;d=a+32|0;o=a+12|0;m=0;do{j=k[p+(m<<2)>>2]|0;f=k[n>>2]|0;do if((j|0)<=(f|0)){f=k[o>>2]|0;g=k[d>>2]|0;h=g+(m<<2)|0;if((j|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=j;h=g;break}}else{h=k[d>>2]|0;k[h+(m<<2)>>2]=f}while(0);m=m+1|0;f=k[aa>>2]|0}while((m|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[aa>>2]|0}while((f|0)<(g|0));if((g|0)>0){m=a+28|0;n=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;j=k[h>>2]|0;if((j|0)>=(k[m>>2]|0)){if((j|0)>(k[g>>2]|0))k[h>>2]=j-(k[n>>2]|0)}else k[h>>2]=(k[n>>2]|0)+j;f=f+1|0}while((f|0)<(k[aa>>2]|0))}}}h=k[ba>>2]|0;j=h;if(h|0){f=ba+4|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-j|0)>>>2)<<2);cn(h)}f=k[ca+36>>2]|0;g=f;if(f|0){h=ca+40|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}f=k[ca+24>>2]|0;g=f;if(f|0){h=ca+28|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}f=k[ca+12>>2]|0;g=f;if(f|0){h=ca+16|0;j=k[h>>2]|0;if((j|0)!=(f|0))k[h>>2]=j+(~((j+-4-g|0)>>>2)<<2);cn(f)}h=k[ca>>2]|0;if(!h){r=da;return 1}f=ca+4|0;g=k[f>>2]|0;if((g|0)!=(h|0))k[f>>2]=g+(~((g+-4-h|0)>>>2)<<2);cn(h);r=da;return 1}function hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=r;r=r+128|0;ja=ka;o=ka+88|0;ga=ka+72|0;U=ka+60|0;ha=ka+48|0;ia=ka+16|0;k[o>>2]=b;k[o+4>>2]=k[c>>2];S=c+4|0;k[o+8>>2]=k[S>>2];T=c+8|0;k[o+12>>2]=k[T>>2];Q=o+16|0;k[Q>>2]=k[d>>2];k[Q+4>>2]=k[d+4>>2];k[Q+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[ga>>2]=0;Q=ga+4|0;k[Q>>2]=0;k[ga+8>>2]=0;R=ga+8|0;rf(ga,o);b=k[Q>>2]|0;o=k[ga>>2]|0;e=b-o|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;e=o+(g<<5)|0;h=b+-32|0;j=k[h>>2]|0;if((k[e>>2]|0)>>>0>>0){l=k[b+-28>>2]|0;m=k[b+-24>>2]|0;n=k[b+-20>>2]|0;b=b+-16|0;k[ja>>2]=k[b>>2];k[ja+4>>2]=k[b+4>>2];k[ja+8>>2]=k[b+8>>2];k[ja+12>>2]=k[b+12>>2];b=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=o+(g<<5)|0;if((k[b>>2]|0)>>>0>=j>>>0)break;else{P=e;e=b;b=P}}k[e>>2]=j;k[e+4>>2]=l;k[e+8>>2]=m;k[e+12>>2]=n;g=e+16|0;k[g>>2]=k[ja>>2];k[g+4>>2]=k[ja+4>>2];k[g+8>>2]=k[ja+8>>2];k[g+12>>2]=k[ja+12>>2];g=7}else g=7}else e=o;a:while(1){if((g|0)==7){e=k[ga>>2]|0;b=k[Q>>2]|0}if((e|0)==(b|0)){g=62;break}P=k[e>>2]|0;b=k[e+4>>2]|0;o=k[e+8>>2]|0;n=k[e+12>>2]|0;t=e+16|0;k[U>>2]=k[t>>2];k[U+4>>2]=k[t+4>>2];k[U+8>>2]=k[t+8>>2];t=k[e+28>>2]|0;Fd(ga);k[c>>2]=b;k[S>>2]=o;k[T>>2]=n;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[ja>>2]=k[U>>2];k[ja+4>>2]=k[U+4>>2];k[ja+8>>2]=k[U+8>>2];t=Kh(a,P,c,ja,t)|0;n=d+(t<<2)|0;o=k[n>>2]|0;b=k[a>>2]|0;O=b-o|0;b:do if(!O){if((P|0)>0){n=k[f>>2]|0;g=f+4|0;j=n+84|0;l=n+68|0;m=n+40|0;n=n+64|0;h=k[g>>2]|0;b=0;o=h;while(1){if(!(i[j>>0]|0))e=k[(k[l>>2]|0)+(o<<2)>>2]|0;else e=o;N=m;O=k[N>>2]|0;N=uk(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;Ii((k[k[n>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else o=o+1|0}k[g>>2]=P+h}}else{if(!P){g=16;break a}if(P>>>0<3){x=(t|0)==2?0:t+1|0;u=(x|0)==2?0:x+1|0;N=b-(k[d+(x<<2)>>2]|0)|0;D=b-(k[d+(u<<2)>>2]|0)|0;E=a+816|0;F=a+812|0;J=k[f>>2]|0;C=f+4|0;G=J+84|0;H=J+68|0;I=J+40|0;J=J+64|0;K=ja+(t<<2)|0;L=(O|0)<33;M=(O|0)>0;n=c+(t<<2)|0;o=(N|0)==0;l=ja+(x<<2)|0;p=c+(x<<2)|0;q=(D|0)==0;m=ja+(u<<2)|0;s=c+(u<<2)|0;t=ja+(u<<2)|0;u=(D|0)<33;v=(D|0)>0;w=32-D|0;x=ja+(x<<2)|0;y=(N|0)<33;z=(N|0)>0;A=32-N|0;B=32-O|0;j=0;while(1){k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;if(!L){g=21;break a}if(!M){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<>>B;k[K>>2]=b;g=g+O|0;k[E>>2]=g;if((g|0)==32){k[F>>2]=h+4;k[E>>2]=0}}else{la=O-b|0;k[E>>2]=la;g=h+4|0;k[F>>2]=g;h=32-la|0;b=(k[g>>2]|0)>>>h|e>>>(h-b|0);k[K>>2]=b}k[K>>2]=b|k[n>>2];do if(!o){if(!y){g=21;break a}if(!z){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<(b|0)){la=N-b|0;k[E>>2]=la;h=h+4|0;k[F>>2]=h;la=32-la|0;b=(k[h>>2]|0)>>>la|e>>>(la-b|0);k[x>>2]=b;e=x;break}b=e>>>A;k[x>>2]=b;la=g+N|0;k[E>>2]=la;if((la|0)==32){k[F>>2]=h+4;k[E>>2]=0;e=x}else e=x}else{e=l;b=k[l>>2]|0}while(0);k[e>>2]=b|k[p>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<(b|0)){la=D-b|0;k[E>>2]=la;h=h+4|0;k[F>>2]=h;la=32-la|0;b=(k[h>>2]|0)>>>la|e>>>(la-b|0);k[t>>2]=b;e=t;break}b=e>>>w;k[t>>2]=b;la=g+D|0;k[E>>2]=la;if((la|0)==32){k[F>>2]=h+4;k[E>>2]=0;e=t}else e=t}else{e=m;b=k[m>>2]|0}while(0);k[e>>2]=b|k[s>>2];b=k[C>>2]|0;k[C>>2]=b+1;if(!(i[G>>0]|0))b=k[(k[H>>2]|0)+(b<<2)>>2]|0;h=I;la=k[h>>2]|0;h=uk(b|0,((b|0)<0)<<31>>31|0,la|0,k[h+4>>2]|0)|0;Ii((k[k[J>>2]>>2]|0)+h|0,ja|0,la|0)|0;j=j+1|0;if(j>>>0>=P>>>0)break b}}k[ha>>2]=k[c>>2];q=ha+4|0;k[q>>2]=k[S>>2];s=ha+8|0;k[s>>2]=k[T>>2];g=ha+(t<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>1)-b|0;h=P-l|0;if((l|0)==(h|0)){m=l;p=l}else{b=a+856|0;la=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;j=(k[g>>2]&1<<31-la|0)!=0;la=la+1|0;k[b>>2]=la;if((la|0)==32){k[e>>2]=g+4;k[b>>2]=0}m=j?l:h;p=j?h:l}k[n>>2]=o+1;if(m|0){k[ia>>2]=m;e=ia+4|0;k[e>>2]=k[c>>2];g=ia+8|0;k[g>>2]=k[S>>2];h=ia+12|0;k[h>>2]=k[T>>2];b=ia+16|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[ia+28>>2]=t;j=k[Q>>2]|0;if(j>>>0<(k[R>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=k[e>>2];k[j+8>>2]=k[g>>2];k[j+12>>2]=k[h>>2];g=j+16|0;k[g>>2]=k[b>>2];k[g+4>>2]=k[b+4>>2];k[g+8>>2]=k[b+8>>2];k[g+12>>2]=k[b+12>>2];g=j+32|0;k[Q>>2]=g}else{rf(ga,ia);g=k[Q>>2]|0}b=k[ga>>2]|0;e=g-b|0;if((e|0)>32?(V=((e>>5)+-2|0)/2|0,W=b,X=W+(V<<5)|0,Y=g,Z=Y+-32|0,_=k[Z>>2]|0,(k[X>>2]|0)>>>0<_>>>0):0){h=k[Y+-28>>2]|0;j=k[Y+-24>>2]|0;l=k[Y+-20>>2]|0;e=Y+-16|0;k[ja>>2]=k[e>>2];k[ja+4>>2]=k[e+4>>2];k[ja+8>>2]=k[e+8>>2];k[ja+12>>2]=k[e+12>>2];e=V;b=Z;g=X;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=W+(e<<5)|0;if((k[b>>2]|0)>>>0>=_>>>0)break;else{la=g;g=b;b=la}}k[g>>2]=_;k[g+4>>2]=h;k[g+8>>2]=j;k[g+12>>2]=l;la=g+16|0;k[la>>2]=k[ja>>2];k[la+4>>2]=k[ja+4>>2];k[la+8>>2]=k[ja+8>>2];k[la+12>>2]=k[ja+12>>2]}}if(p|0){k[ia>>2]=p;h=ia+4|0;k[h>>2]=k[ha>>2];j=ia+8|0;k[j>>2]=k[q>>2];g=ia+12|0;k[g>>2]=k[s>>2];e=ia+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[ia+28>>2]=t;b=k[Q>>2]|0;if(b>>>0<(k[R>>2]|0)>>>0){k[b>>2]=p;k[b+4>>2]=k[h>>2];k[b+8>>2]=k[j>>2];k[b+12>>2]=k[g>>2];g=b+16|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];g=b+32|0;k[Q>>2]=g}else{rf(ga,ia);g=k[Q>>2]|0}b=k[ga>>2]|0;e=g-b|0;if((e|0)>32?($=((e>>5)+-2|0)/2|0,aa=b,ba=aa+($<<5)|0,da=g,ea=da+-32|0,fa=k[ea>>2]|0,(k[ba>>2]|0)>>>0>>0):0){h=k[da+-28>>2]|0;j=k[da+-24>>2]|0;l=k[da+-20>>2]|0;e=da+-16|0;k[ja>>2]=k[e>>2];k[ja+4>>2]=k[e+4>>2];k[ja+8>>2]=k[e+8>>2];k[ja+12>>2]=k[e+12>>2];e=$;b=ea;g=ba;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=aa+(e<<5)|0;if((k[b>>2]|0)>>>0>=fa>>>0)break;else{la=g;g=b;b=la}}k[g>>2]=fa;k[g+4>>2]=h;k[g+8>>2]=j;k[g+12>>2]=l;la=g+16|0;k[la>>2]=k[ja>>2];k[la+4>>2]=k[ja+4>>2];k[la+8>>2]=k[ja+8>>2];k[la+12>>2]=k[ja+12>>2]}}}while(0);g=7}if((g|0)==16)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==62){if(!b){r=ka;return}cn(b);r=ka;return}}function ib(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=r;r=r+128|0;ia=ja;n=ja+88|0;fa=ja+72|0;T=ja+60|0;ga=ja+48|0;ha=ja+16|0;k[n>>2]=b;k[n+4>>2]=k[c>>2];R=c+4|0;k[n+8>>2]=k[R>>2];S=c+8|0;k[n+12>>2]=k[S>>2];P=n+16|0;k[P>>2]=k[d>>2];k[P+4>>2]=k[d+4>>2];k[P+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[fa>>2]=0;P=fa+4|0;k[P>>2]=0;k[fa+8>>2]=0;Q=fa+8|0;rf(fa,n);b=k[P>>2]|0;n=k[fa>>2]|0;e=b-n|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;e=n+(g<<5)|0;h=b+-32|0;i=k[h>>2]|0;if((k[e>>2]|0)>>>0>>0){j=k[b+-28>>2]|0;l=k[b+-24>>2]|0;m=k[b+-20>>2]|0;b=b+-16|0;k[ia>>2]=k[b>>2];k[ia+4>>2]=k[b+4>>2];k[ia+8>>2]=k[b+8>>2];k[ia+12>>2]=k[b+12>>2];b=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=n+(g<<5)|0;if((k[b>>2]|0)>>>0>=i>>>0)break;else{O=e;e=b;b=O}}k[e>>2]=i;k[e+4>>2]=j;k[e+8>>2]=l;k[e+12>>2]=m;g=e+16|0;k[g>>2]=k[ia>>2];k[g+4>>2]=k[ia+4>>2];k[g+8>>2]=k[ia+8>>2];k[g+12>>2]=k[ia+12>>2];g=7}else g=7}else e=n;a:while(1){if((g|0)==7){e=k[fa>>2]|0;b=k[P>>2]|0}if((e|0)==(b|0)){g=63;break}O=k[e>>2]|0;b=k[e+4>>2]|0;n=k[e+8>>2]|0;m=k[e+12>>2]|0;s=e+16|0;k[T>>2]=k[s>>2];k[T+4>>2]=k[s+4>>2];k[T+8>>2]=k[s+8>>2];s=k[e+28>>2]|0;Fd(fa);k[c>>2]=b;k[R>>2]=n;k[S>>2]=m;k[d>>2]=k[T>>2];k[d+4>>2]=k[T+4>>2];k[d+8>>2]=k[T+8>>2];k[ia>>2]=k[T>>2];k[ia+4>>2]=k[T+4>>2];k[ia+8>>2]=k[T+8>>2];s=Kh(a,O,c,ia,s)|0;m=d+(s<<2)|0;n=k[m>>2]|0;b=k[a>>2]|0;N=b-n|0;b:do if(!N){if((O|0)>0){e=k[f>>2]|0;g=e+4|0;h=e+8|0;b=0;do{i=k[g>>2]|0;if((i|0)==(k[h>>2]|0))xg(e,c);else{k[i>>2]=k[c>>2];k[i+4>>2]=k[R>>2];k[i+8>>2]=k[S>>2];k[g>>2]=i+12}b=b+1|0}while((b|0)<(O|0))}}else{if(!O){g=17;break a}if(O>>>0<3){u=(s|0)==2?0:s+1|0;p=(u|0)==2?0:u+1|0;M=b-(k[d+(u<<2)>>2]|0)|0;C=b-(k[d+(p<<2)>>2]|0)|0;D=a+816|0;E=a+812|0;B=k[f>>2]|0;F=B+4|0;G=B+8|0;H=ia+4|0;I=ia+8|0;J=ia+(s<<2)|0;K=(N|0)<33;L=(N|0)>0;z=c+(s<<2)|0;A=(M|0)==0;j=ia+(u<<2)|0;m=c+(u<<2)|0;n=(C|0)==0;l=ia+(p<<2)|0;o=c+(p<<2)|0;p=ia+(p<<2)|0;q=(C|0)<33;s=(C|0)>0;t=32-C|0;u=ia+(u<<2)|0;v=(M|0)<33;w=(M|0)>0;x=32-M|0;y=32-N|0;i=0;while(1){k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;if(!K){g=23;break a}if(!L){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<>>y;k[J>>2]=b;g=g+N|0;k[D>>2]=g;if((g|0)==32){k[E>>2]=h+4;k[D>>2]=0}}else{ka=N-b|0;k[D>>2]=ka;g=h+4|0;k[E>>2]=g;h=32-ka|0;b=(k[g>>2]|0)>>>h|e>>>(h-b|0);k[J>>2]=b}k[J>>2]=b|k[z>>2];do if(!A){if(!v){g=23;break a}if(!w){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<(b|0)){ka=M-b|0;k[D>>2]=ka;h=h+4|0;k[E>>2]=h;ka=32-ka|0;b=(k[h>>2]|0)>>>ka|e>>>(ka-b|0);k[u>>2]=b;e=u;break}b=e>>>x;k[u>>2]=b;ka=g+M|0;k[D>>2]=ka;if((ka|0)==32){k[E>>2]=h+4;k[D>>2]=0;e=u}else e=u}else{e=j;b=k[j>>2]|0}while(0);k[e>>2]=b|k[m>>2];do if(!n){if(!q){g=23;break a}if(!s){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<(b|0)){ka=C-b|0;k[D>>2]=ka;h=h+4|0;k[E>>2]=h;ka=32-ka|0;b=(k[h>>2]|0)>>>ka|e>>>(ka-b|0);k[p>>2]=b;e=p;break}b=e>>>t;k[p>>2]=b;ka=g+C|0;k[D>>2]=ka;if((ka|0)==32){k[E>>2]=h+4;k[D>>2]=0;e=p}else e=p}else{e=l;b=k[l>>2]|0}while(0);k[e>>2]=b|k[o>>2];b=k[F>>2]|0;if((b|0)==(k[G>>2]|0))xg(B,ia);else{k[b>>2]=k[ia>>2];k[b+4>>2]=k[H>>2];k[b+8>>2]=k[I>>2];k[F>>2]=b+12}i=i+1|0;if(i>>>0>=O>>>0)break b}}k[ga>>2]=k[c>>2];p=ga+4|0;k[p>>2]=k[R>>2];q=ga+8|0;k[q>>2]=k[S>>2];g=ga+(s<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>1)-b|0;h=O-j|0;if((j|0)==(h|0)){l=j;o=j}else{b=a+856|0;ka=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;i=(k[g>>2]&1<<31-ka|0)!=0;ka=ka+1|0;k[b>>2]=ka;if((ka|0)==32){k[e>>2]=g+4;k[b>>2]=0}l=i?j:h;o=i?h:j}k[m>>2]=n+1;if(l|0){k[ha>>2]=l;e=ha+4|0;k[e>>2]=k[c>>2];g=ha+8|0;k[g>>2]=k[R>>2];h=ha+12|0;k[h>>2]=k[S>>2];b=ha+16|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[ha+28>>2]=s;i=k[P>>2]|0;if(i>>>0<(k[Q>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=k[e>>2];k[i+8>>2]=k[g>>2];k[i+12>>2]=k[h>>2];g=i+16|0;k[g>>2]=k[b>>2];k[g+4>>2]=k[b+4>>2];k[g+8>>2]=k[b+8>>2];k[g+12>>2]=k[b+12>>2];g=i+32|0;k[P>>2]=g}else{rf(fa,ha);g=k[P>>2]|0}b=k[fa>>2]|0;e=g-b|0;if((e|0)>32?(U=((e>>5)+-2|0)/2|0,V=b,W=V+(U<<5)|0,X=g,Y=X+-32|0,Z=k[Y>>2]|0,(k[W>>2]|0)>>>0>>0):0){h=k[X+-28>>2]|0;i=k[X+-24>>2]|0;j=k[X+-20>>2]|0;e=X+-16|0;k[ia>>2]=k[e>>2];k[ia+4>>2]=k[e+4>>2];k[ia+8>>2]=k[e+8>>2];k[ia+12>>2]=k[e+12>>2];e=U;b=Y;g=W;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=V+(e<<5)|0;if((k[b>>2]|0)>>>0>=Z>>>0)break;else{ka=g;g=b;b=ka}}k[g>>2]=Z;k[g+4>>2]=h;k[g+8>>2]=i;k[g+12>>2]=j;ka=g+16|0;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[ka+12>>2]=k[ia+12>>2]}}if(o|0){k[ha>>2]=o;h=ha+4|0;k[h>>2]=k[ga>>2];i=ha+8|0;k[i>>2]=k[p>>2];g=ha+12|0;k[g>>2]=k[q>>2];e=ha+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[ha+28>>2]=s;b=k[P>>2]|0;if(b>>>0<(k[Q>>2]|0)>>>0){k[b>>2]=o;k[b+4>>2]=k[h>>2];k[b+8>>2]=k[i>>2];k[b+12>>2]=k[g>>2];g=b+16|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];g=b+32|0;k[P>>2]=g}else{rf(fa,ha);g=k[P>>2]|0}b=k[fa>>2]|0;e=g-b|0;if((e|0)>32?(_=((e>>5)+-2|0)/2|0,$=b,aa=$+(_<<5)|0,ba=g,da=ba+-32|0,ea=k[da>>2]|0,(k[aa>>2]|0)>>>0>>0):0){h=k[ba+-28>>2]|0;i=k[ba+-24>>2]|0;j=k[ba+-20>>2]|0;e=ba+-16|0;k[ia>>2]=k[e>>2];k[ia+4>>2]=k[e+4>>2];k[ia+8>>2]=k[e+8>>2];k[ia+12>>2]=k[e+12>>2];e=_;b=da;g=aa;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=$+(e<<5)|0;if((k[b>>2]|0)>>>0>=ea>>>0)break;else{ka=g;g=b;b=ka}}k[g>>2]=ea;k[g+4>>2]=h;k[g+8>>2]=i;k[g+12>>2]=j;ka=g+16|0;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[ka+12>>2]=k[ia+12>>2]}}}while(0);g=7}if((g|0)==17)Ka(13811,13849,231,13919);else if((g|0)==23)Ka(13932,13956,48,13984);else if((g|0)==25)Ka(14013,13956,49,13984);else if((g|0)==63){if(!b){r=ja;return}cn(b);r=ja;return}}function jb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;cn(y)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=sl(f|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=sl(f|0,g|0,8,0)|0;b=M;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=sl(f|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=xk(60)|0;zl(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fh(c);cn(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Bj(b,p);c=a+176|0;d=k[c>>2]|0;e=a+180|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Xh(c,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xh(b,p);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;u=sl(d|0,e|0,1,0)|0;v=c;k[v>>2]=u;k[v+4>>2]=M;if(h<<24>>24<0){A=0;r=B;return A|0}u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}Sh(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Rg(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=sl(c|0,d|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){A=0;r=B;return A|0}b=sl(c|0,d|0,8,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;g=j;k[g>>2]=b;k[g+4>>2]=c;g=a+136|0;b=(k[q>>2]|0)+m|0;i[w>>0]=1;lg(g,b,w);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;p=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=sl(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((m|0)<(f|0)|(m|0)==(f|0)&p>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;p=c;k[p>>2]=e;k[p+4>>2]=f}rk(A);m=k[(k[s>>2]|0)+20>>2]|0;h=m+16|0;f=k[h>>2]|0;p=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=sl(f|0,k[h+4>>2]|0,b|0,0)|0;b=al(j|0,m|0,b|0,M|0)|0;Ck(A,p,b);b=hc(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;p=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;h=p+8|0;p=p+16|0;p=al(k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;Ck(c,j+m|0,p);p=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=p;k[a+336>>2]=k[q>>2];k[a+324>>2]=o;rk(z);a:do if(Fg(c,z)|0){if((ab(a,n)|0)==-1){b=0;break}o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=al(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Ck(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=sl(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=M;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];b=b+3|0;if(!(Ue(a,w)|0)){b=0;break a}s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Oj(c);Oj(a+280|0);e=k[y>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;q=f;if((s-f|0)>0){m=k[g>>2]|0;n=s-f>>2;o=e+12|0;j=0;do{do if(k[m+(j>>>5<<2)>>2]&1<<(j&31)|0){p=q+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[o>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(n|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0)){e=s;c=d}else{f=0;do{uh(b+(f*116|0)+4|0,e)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];xf(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));pj(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;c=k[u>>2]|0;b=c;e=k[y>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){jh(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){jh(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=sb(a)|0}else b=0;while(0);fn(z+24|0)}fn(A+24|0);A=b;r=B;return A|0}function kb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;cn(y)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=sl(f|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=sl(f|0,g|0,8,0)|0;b=M;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=sl(f|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=xk(60)|0;zl(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fh(c);cn(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Bj(b,p);c=a+176|0;d=k[c>>2]|0;e=a+180|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Xh(c,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xh(b,p);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;u=sl(d|0,e|0,1,0)|0;v=c;k[v>>2]=u;k[v+4>>2]=M;if(h<<24>>24<0){A=0;r=B;return A|0}u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}Sh(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Rg(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=sl(c|0,d|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){A=0;r=B;return A|0}b=sl(c|0,d|0,8,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;g=j;k[g>>2]=b;k[g+4>>2]=c;g=a+136|0;b=(k[q>>2]|0)+m|0;i[w>>0]=1;lg(g,b,w);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;p=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=sl(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((m|0)<(f|0)|(m|0)==(f|0)&p>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;p=c;k[p>>2]=e;k[p+4>>2]=f}rk(A);m=k[(k[s>>2]|0)+20>>2]|0;h=m+16|0;f=k[h>>2]|0;p=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=sl(f|0,k[h+4>>2]|0,b|0,0)|0;b=al(j|0,m|0,b|0,M|0)|0;Ck(A,p,b);b=hc(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;p=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;h=p+8|0;p=p+16|0;p=al(k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;Ck(c,j+m|0,p);p=Va[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=p;k[a+336>>2]=k[q>>2];k[a+324>>2]=o;rk(z);a:do if(dd(c,z)|0){if(($a(a,n)|0)==-1){b=0;break}o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=al(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Ck(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=sl(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=M;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];b=b+3|0;if(!(Ue(a,w)|0)){b=0;break a}s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Oj(c);Oj(a+280|0);e=k[y>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;q=f;if((s-f|0)>0){m=k[g>>2]|0;n=s-f>>2;o=e+12|0;j=0;do{do if(k[m+(j>>>5<<2)>>2]&1<<(j&31)|0){p=q+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[o>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(n|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0)){e=s;c=d}else{f=0;do{uh(b+(f*116|0)+4|0,e)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];xf(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));pj(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;c=k[u>>2]|0;b=c;e=k[y>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){jh(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){jh(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=sb(a)|0}else b=0;while(0);fn(z+24|0)}fn(A+24|0);A=b;r=B;return A|0}function lb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;cn(y)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=sl(f|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=sl(f|0,g|0,8,0)|0;b=M;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=sl(f|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=xk(60)|0;zl(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Fh(c);cn(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}Bj(b,p);c=a+176|0;d=k[c>>2]|0;e=a+180|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Xh(c,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Xh(b,p);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;u=sl(d|0,e|0,1,0)|0;v=c;k[v>>2]=u;k[v+4>>2]=M;if(h<<24>>24<0){A=0;r=B;return A|0}u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}Sh(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Rg(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=sl(c|0,d|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){A=0;r=B;return A|0}b=sl(c|0,d|0,8,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}p=f+m|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;g=j;k[g>>2]=b;k[g+4>>2]=c;g=a+136|0;b=(k[q>>2]|0)+p|0;i[w>>0]=1;lg(g,b,w);b=k[(k[s>>2]|0)+20>>2]|0;p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=sl(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}rk(A);p=k[(k[s>>2]|0)+20>>2]|0;j=p+16|0;h=k[j>>2]|0;q=(k[p>>2]|0)+h+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=sl(h|0,k[j+4>>2]|0,b|0,0)|0;b=al(m|0,p|0,b|0,M|0)|0;Ck(A,q,b);b=hc(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;q=(Va[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;j=q+8|0;q=q+16|0;q=al(k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;Ck(c,m+p|0,q);k[a+324>>2]=o;rk(z);a:do if(Vd(c,z)|0){if((bb(a,n)|0)==-1){b=0;break}o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=al(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;Ck(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=sl(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=M;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];b=b+3|0;if(!(Ue(a,w)|0)){b=0;break a}s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);Oj(c);Oj(a+280|0);e=k[y>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;q=f;if((s-f|0)>0){m=k[g>>2]|0;n=s-f>>2;o=e+12|0;j=0;do{do if(k[m+(j>>>5<<2)>>2]&1<<(j&31)|0){p=q+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[o>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(n|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0)){e=s;c=d}else{f=0;do{uh(b+(f*116|0)+4|0,e)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];xf(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));pj(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;c=k[u>>2]|0;b=c;e=k[y>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){jh(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){jh(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=sb(a)|0}else b=0;while(0);fn(z+24|0)}fn(A+24|0);A=b;r=B;return A|0}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0;ca=r;r=r+112|0;N=ca+100|0;M=ca+96|0;ba=ca+48|0;aa=ca+32|0;S=ca+104|0;T=ca+8|0;O=ca+4|0;P=ca;W=a+8|0;k[W>>2]=e;Q=k[a+24>>2]|0;R=k[a+28>>2]|0;d=ba;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));if(!e){d=0;f=0}else{jh(ba,e);d=k[ba+12>>2]|0;f=k[ba+16>>2]|0}g=ba+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0)k[g>>2]=f+(~((f+-4-j|0)>>>2)<<2)}else jh(ba+12|0,e-h|0);d=ba+24|0;f=ba+28|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[f>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else jh(d,e-g|0);d=ba+36|0;f=ba+40|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(j|0)!=(n|0)):0)k[f>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else jh(d,e-g|0);bj(aa,e);E=a+32|0;h=k[E>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){A=Q+64|0;B=Q+28|0;C=(e|0)>0;D=T+4|0;F=T+8|0;G=T+12|0;H=T+12|0;I=T+16|0;J=aa+4|0;K=S+1|0;L=e<<2;v=d>>2;d=h;b:while(1){z=v+-1|0;if(g-f>>2>>>0<=z>>>0){_=8;break}q=k[f+(z<<2)>>2]|0;p=q+((q|0)<0?0:((q>>>0)%3|0|0)==0?2:-1)|0;s=p>>>5;t=1<<(p&31);u=(p|0)<0;o=1;d=0;f=q;c:while(1){do{if((f|0)<=-1){x=d;break c}h=k[ba+(d*12|0)>>2]|0;if(((k[(k[Q>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(V=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(V|0)>=0):0)?(Z=k[B>>2]|0,y=k[R>>2]|0,X=k[y+(k[Z+(V<<2)>>2]<<2)>>2]|0,Y=V+1|0,Y=k[y+(k[Z+((((Y|0)%3|0|0)==0?V+-2|0:Y)<<2)>>2]<<2)>>2]|0,Z=k[y+(k[Z+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(X|0)<(z|0)&(Y|0)<(z|0)&(Z|0)<(z|0)):0){j=$(X,e)|0;m=$(Y,e)|0;n=$(Z,e)|0;if(C){g=0;do{k[h+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[b+(g+m<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}d=d+1|0;if((d|0)==4){x=4;break c}}do if(o){g=f+1|0;f=((g|0)%3|0|0)==0?f+-2|0:g;g=k[Q>>2]|0;if(!(k[g+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;h=f+1|0;if((f|0)>=0)f=((h|0)%3|0|0)==0?f+-2|0:h}}else f=-1073741824}else{f=(((f>>>0)%3|0|0)==0?2:-1)+f|0;g=k[Q>>2]|0;if(!(k[g+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824}while(0);if((f|0)==(q|0)){x=d;break c}}while(!(o&(f|0)<0));f=(t&k[g+(s<<2)>>2]|0)!=0;if(f|u){o=0;f=f?-1073741824:p;continue}f=k[(k[(k[A>>2]|0)+12>>2]|0)+(p<<2)>>2]|0;if((f|0)<0){o=0;continue}if(!((f>>>0)%3|0)){o=0;f=f+2|0;continue}else{o=0;f=f+-1|0;continue}}y=$(z,e)|0;k[T>>2]=2147483647;i[D>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;g=$(v+-2|0,e)|0;if(C){f=0;d=0;do{w=(k[b+(f+y<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0)|0;d=((w|0)>-1?w:0-w|0)+d|0;f=f+1|0}while((f|0)!=(e|0))}else d=0;k[T>>2]=d;i[D>>0]=0;k[F>>2]=0;w=b+(g<<2)|0;lf(G,w,w+(e<<2)|0);if((x|0)>=1){p=S+x|0;o=p+-1|0;q=(o|0)==(S|0);s=p+-2|0;t=K>>>0>>0;u=o>>>0>S>>>0;v=0;w=1;while(1){v=v+1|0;Vi(S|0,1,x|0)|0;Vi(S|0,0,v|0)|0;d:while(1){if(C){Vi(k[aa>>2]|0,0,L|0)|0;j=k[aa>>2]|0;h=0;d=0;do{if(!(i[S+h>>0]|0)){g=k[ba+(h*12|0)>>2]|0;f=0;do{n=j+(f<<2)|0;k[n>>2]=(k[n>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));d=(1<>0]|0))d=(1<>2]|0;g=0;f=0;do{m=h+(g<<2)|0;n=(k[m>>2]|0)/(w|0)|0;k[m>>2]=n;n=n-(k[b+(g+y<<2)>>2]|0)|0;f=((n|0)>-1?n:0-n|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;if((f|0)<(k[T>>2]|0)){k[T>>2]=f;i[D>>0]=d;k[F>>2]=w;k[O>>2]=k[aa>>2];k[P>>2]=k[J>>2];k[M>>2]=k[O>>2];k[N>>2]=k[P>>2];hf(G,M,N)}if(q)break;U=i[o>>0]|0;j=-1;n=U;while(1){d=j+-1|0;m=p+d|0;h=n;n=i[m>>0]|0;if((n&255)<(h&255))break;if((m|0)==(S|0)){_=65;break d}else j=d}d=p+j|0;if((n&255)<(U&255)){g=o;f=U}else{f=p;h=o;while(1){f=i[f+-2>>0]|0;g=h+-1|0;if((n&255)<(f&255))break;else{f=h;h=g}}}i[m>>0]=f;i[g>>0]=n;if((j|0)<-1)f=o;else continue;while(1){n=i[d>>0]|0;i[d>>0]=i[f>>0]|0;i[f>>0]=n;d=d+1|0;f=f+-1|0;if(d>>>0>=f>>>0)continue d}}if(((_|0)==65?(_=0,u):0)?(n=i[S>>0]|0,i[S>>0]=U,i[o>>0]=n,t):0){d=s;f=K;do{n=i[f>>0]|0;i[f>>0]=i[d>>0]|0;i[d>>0]=n;f=f+1|0;d=d+-1|0}while(f>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;j=a+36+(n*12|0)|0;m=a+36+(n*12|0)+4|0;n=a+36+(n*12|0)+8|0;h=0;do{d=k[m>>2]|0;f=k[n>>2]|0;g=(d|0)==(f<<5|0);if(!(l[D>>0]&1<>>0<1073741823?(w>>>0>>0?d:w):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;w=(k[j>>2]|0)+(d>>>5<<2)|0;k[w>>2]=k[w>>2]|1<<(d&31)}else{if(g){if((d+1|0)<0){_=78;break b}w=f<<6;d=d+32&-32;Xg(j,f<<5>>>0<1073741823?(w>>>0>>0?d:w):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;w=(k[j>>2]|0)+(d>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(d&31))}h=h+1|0}while((h|0)<(x|0))}}Ze(W,b+(y<<2)|0,k[G>>2]|0,c,y);d=k[H>>2]|0;f=d;if(d|0){g=k[I>>2]|0;if((g|0)!=(d|0))k[I>>2]=g+(~((g+-4-f|0)>>>2)<<2);cn(d)}if((z|0)<=1)break a;d=k[E>>2]|0;v=z;f=k[d>>2]|0;g=k[d+4>>2]|0}if((_|0)==8)gm(d);else if((_|0)==73)hm(j);else if((_|0)==78)hm(j)}while(0);f=k[ba>>2]|0;if((e|0)>0){d=0;do{k[f+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(e|0))}Ze(W,b,f,c,0);g=k[aa>>2]|0;h=g;if(g|0){d=aa+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[ba+36>>2]|0;f=d;if(d|0){g=ba+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[ba+24>>2]|0;f=d;if(d|0){g=ba+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[ba+12>>2]|0;f=d;if(d|0){g=ba+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[ba>>2]|0;if(!g){r=ca;return 1}d=ba+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=ca;return 1}function nb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0;ca=r;r=r+112|0;N=ca+100|0;M=ca+96|0;ba=ca+48|0;aa=ca+32|0;S=ca+104|0;T=ca+8|0;O=ca+4|0;P=ca;W=a+8|0;k[W>>2]=e;Q=k[a+24>>2]|0;R=k[a+28>>2]|0;d=ba;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));if(!e){d=0;f=0}else{jh(ba,e);d=k[ba+12>>2]|0;f=k[ba+16>>2]|0}g=ba+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0)k[g>>2]=f+(~((f+-4-j|0)>>>2)<<2)}else jh(ba+12|0,e-h|0);d=ba+24|0;f=ba+28|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[f>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else jh(d,e-g|0);d=ba+36|0;f=ba+40|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(j|0)!=(n|0)):0)k[f>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else jh(d,e-g|0);bj(aa,e);E=a+32|0;h=k[E>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){A=Q+64|0;B=Q+28|0;C=(e|0)>0;D=T+4|0;F=T+8|0;G=T+12|0;H=T+12|0;I=T+16|0;J=aa+4|0;K=S+1|0;L=e<<2;v=d>>2;d=h;b:while(1){z=v+-1|0;if(g-f>>2>>>0<=z>>>0){_=8;break}q=k[f+(z<<2)>>2]|0;p=q+((q|0)<0?0:((q>>>0)%3|0|0)==0?2:-1)|0;s=p>>>5;t=1<<(p&31);u=(p|0)<0;o=1;d=0;f=q;c:while(1){do{if((f|0)<=-1){x=d;break c}h=k[ba+(d*12|0)>>2]|0;if(((k[(k[Q>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)|0)==0?(V=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(V|0)>=0):0)?(Z=k[B>>2]|0,y=k[R>>2]|0,X=k[y+(k[Z+(V<<2)>>2]<<2)>>2]|0,Y=V+1|0,Y=k[y+(k[Z+((((Y|0)%3|0|0)==0?V+-2|0:Y)<<2)>>2]<<2)>>2]|0,Z=k[y+(k[Z+((((V>>>0)%3|0|0)==0?2:-1)+V<<2)>>2]<<2)>>2]|0,(X|0)<(z|0)&(Y|0)<(z|0)&(Z|0)<(z|0)):0){j=$(X,e)|0;m=$(Y,e)|0;n=$(Z,e)|0;if(C){g=0;do{k[h+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[b+(g+m<<2)>>2]|0)-(k[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}d=d+1|0;if((d|0)==4){x=4;break c}}do if(o){g=f+1|0;f=((g|0)%3|0|0)==0?f+-2|0:g;g=k[Q>>2]|0;if(!(k[g+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;h=f+1|0;if((f|0)>=0)f=((h|0)%3|0|0)==0?f+-2|0:h}}else f=-1073741824}else{f=(((f>>>0)%3|0|0)==0?2:-1)+f|0;g=k[Q>>2]|0;if(!(k[g+(f>>>5<<2)>>2]&1<<(f&31))){if((f|0)>=0){f=k[(k[(k[A>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824}while(0);if((f|0)==(q|0)){x=d;break c}}while(!(o&(f|0)<0));f=(t&k[g+(s<<2)>>2]|0)!=0;if(f|u){o=0;f=f?-1073741824:p;continue}f=k[(k[(k[A>>2]|0)+12>>2]|0)+(p<<2)>>2]|0;if((f|0)<0){o=0;continue}if(!((f>>>0)%3|0)){o=0;f=f+2|0;continue}else{o=0;f=f+-1|0;continue}}y=$(z,e)|0;k[T>>2]=2147483647;i[D>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;g=$(v+-2|0,e)|0;if(C){f=0;d=0;do{w=(k[b+(f+y<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0)|0;d=((w|0)>-1?w:0-w|0)+d|0;f=f+1|0}while((f|0)!=(e|0))}else d=0;k[T>>2]=d;i[D>>0]=0;k[F>>2]=0;w=b+(g<<2)|0;lf(G,w,w+(e<<2)|0);if((x|0)>=1){p=S+x|0;o=p+-1|0;q=(o|0)==(S|0);s=p+-2|0;t=K>>>0>>0;u=o>>>0>S>>>0;v=0;w=1;while(1){v=v+1|0;Vi(S|0,1,x|0)|0;Vi(S|0,0,v|0)|0;d:while(1){if(C){Vi(k[aa>>2]|0,0,L|0)|0;j=k[aa>>2]|0;h=0;d=0;do{if(!(i[S+h>>0]|0)){g=k[ba+(h*12|0)>>2]|0;f=0;do{n=j+(f<<2)|0;k[n>>2]=(k[n>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));d=(1<>0]|0))d=(1<>2]|0;g=0;f=0;do{m=h+(g<<2)|0;n=(k[m>>2]|0)/(w|0)|0;k[m>>2]=n;n=n-(k[b+(g+y<<2)>>2]|0)|0;f=((n|0)>-1?n:0-n|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;if((f|0)<(k[T>>2]|0)){k[T>>2]=f;i[D>>0]=d;k[F>>2]=w;k[O>>2]=k[aa>>2];k[P>>2]=k[J>>2];k[M>>2]=k[O>>2];k[N>>2]=k[P>>2];hf(G,M,N)}if(q)break;U=i[o>>0]|0;j=-1;n=U;while(1){d=j+-1|0;m=p+d|0;h=n;n=i[m>>0]|0;if((n&255)<(h&255))break;if((m|0)==(S|0)){_=65;break d}else j=d}d=p+j|0;if((n&255)<(U&255)){g=o;f=U}else{f=p;h=o;while(1){f=i[f+-2>>0]|0;g=h+-1|0;if((n&255)<(f&255))break;else{f=h;h=g}}}i[m>>0]=f;i[g>>0]=n;if((j|0)<-1)f=o;else continue;while(1){n=i[d>>0]|0;i[d>>0]=i[f>>0]|0;i[f>>0]=n;d=d+1|0;f=f+-1|0;if(d>>>0>=f>>>0)continue d}}if(((_|0)==65?(_=0,u):0)?(n=i[S>>0]|0,i[S>>0]=U,i[o>>0]=n,t):0){d=s;f=K;do{n=i[f>>0]|0;i[f>>0]=i[d>>0]|0;i[d>>0]=n;f=f+1|0;d=d+-1|0}while(f>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;j=a+36+(n*12|0)|0;m=a+36+(n*12|0)+4|0;n=a+36+(n*12|0)+8|0;h=0;do{d=k[m>>2]|0;f=k[n>>2]|0;g=(d|0)==(f<<5|0);if(!(l[D>>0]&1<>>0<1073741823?(w>>>0>>0?d:w):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;w=(k[j>>2]|0)+(d>>>5<<2)|0;k[w>>2]=k[w>>2]|1<<(d&31)}else{if(g){if((d+1|0)<0){_=78;break b}w=f<<6;d=d+32&-32;Xg(j,f<<5>>>0<1073741823?(w>>>0>>0?d:w):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;w=(k[j>>2]|0)+(d>>>5<<2)|0;k[w>>2]=k[w>>2]&~(1<<(d&31))}h=h+1|0}while((h|0)<(x|0))}}cf(W,b+(y<<2)|0,k[G>>2]|0,c,y);d=k[H>>2]|0;f=d;if(d|0){g=k[I>>2]|0;if((g|0)!=(d|0))k[I>>2]=g+(~((g+-4-f|0)>>>2)<<2);cn(d)}if((z|0)<=1)break a;d=k[E>>2]|0;v=z;f=k[d>>2]|0;g=k[d+4>>2]|0}if((_|0)==8)gm(d);else if((_|0)==73)hm(j);else if((_|0)==78)hm(j)}while(0);f=k[ba>>2]|0;if((e|0)>0){d=0;do{k[f+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(e|0))}cf(W,b,f,c,0);g=k[aa>>2]|0;h=g;if(g|0){d=aa+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[ba+36>>2]|0;f=d;if(d|0){g=ba+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[ba+24>>2]|0;f=d;if(d|0){g=ba+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[ba+12>>2]|0;f=d;if(d|0){g=ba+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[ba>>2]|0;if(!g){r=ca;return 1}d=ba+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=ca;return 1}function ob(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=r;r=r+112|0;N=Z+100|0;M=Z+96|0;Y=Z+48|0;X=Z+32|0;S=Z+104|0;T=Z+8|0;O=Z+4|0;P=Z;V=a+8|0;k[V>>2]=e;Q=k[a+24>>2]|0;R=k[a+28>>2]|0;d=Y;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));if(!e){d=0;f=0}else{jh(Y,e);d=k[Y+12>>2]|0;f=k[Y+16>>2]|0}g=Y+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0)k[g>>2]=f+(~((f+-4-j|0)>>>2)<<2)}else jh(Y+12|0,e-h|0);d=Y+24|0;f=Y+28|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[f>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else jh(d,e-g|0);d=Y+36|0;f=Y+40|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(j|0)!=(n|0)):0)k[f>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else jh(d,e-g|0);bj(X,e);B=a+32|0;h=k[B>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){C=Q+12|0;D=(e|0)>0;E=T+4|0;F=T+8|0;G=T+12|0;H=T+12|0;I=T+16|0;J=X+4|0;K=S+1|0;L=e<<2;y=d>>2;d=h;b:while(1){A=y+-1|0;if(g-f>>2>>>0<=A>>>0){W=8;break}w=k[f+(A<<2)>>2]|0;v=(((w>>>0)%3|0|0)==0?2:-1)+w|0;x=(w|v|0)<0;u=(w|0)<0?w:v;t=1;f=0;d=w;c:while(1){do{if((d|0)<=-1){x=f;break c}q=k[Y+(f*12|0)>>2]|0;s=k[C>>2]|0;h=k[s+(d<<2)>>2]|0;if((h|0)>=0){m=k[Q>>2]|0;j=(h>>>0)%3|0;n=k[R>>2]|0;p=k[n+(k[m+(((h>>>0)/3|0)*12|0)+(j<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[m+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;o=k[n+(g<<2)>>2]|0;g=((j|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[m+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[n+(g<<2)>>2]|0;if((p|0)<(A|0)&(o|0)<(A|0)&(g|0)<(A|0)){m=$(p,e)|0;j=$(o,e)|0;h=$(g,e)|0;if(D){g=0;do{k[q+(g<<2)>>2]=(k[b+(g+h<<2)>>2]|0)+(k[b+(g+j<<2)>>2]|0)-(k[b+(g+m<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}f=f+1|0;if((f|0)==4){x=4;break c}}}do if(t){z=d+1|0;d=((z|0)%3|0|0)==0?d+-2|0:z;if((d|0)>=0){d=k[s+(d<<2)>>2]|0;g=d+1|0;if((d|0)>=0)d=((g|0)%3|0|0)==0?d+-2|0:g}}else{d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0){d=k[s+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}while(0);if((d|0)==(w|0)){x=f;break c}}while(!(t&(d|0)<0));if(x){t=0;d=u;continue}d=k[s+(v<<2)>>2]|0;if((d|0)<0){t=0;continue}if(!((d>>>0)%3|0)){t=0;d=d+2|0;continue}else{t=0;d=d+-1|0;continue}}z=$(A,e)|0;k[T>>2]=2147483647;i[E>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;g=$(y+-2|0,e)|0;if(D){f=0;d=0;do{y=(k[b+(f+z<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0)|0;d=((y|0)>-1?y:0-y|0)+d|0;f=f+1|0}while((f|0)!=(e|0))}else d=0;k[T>>2]=d;i[E>>0]=0;k[F>>2]=0;y=b+(g<<2)|0;lf(G,y,y+(e<<2)|0);if((x|0)>=1){p=S+x|0;o=p+-1|0;q=(o|0)==(S|0);s=p+-2|0;t=K>>>0>>0;u=o>>>0>S>>>0;v=0;w=1;while(1){v=v+1|0;Vi(S|0,1,x|0)|0;Vi(S|0,0,v|0)|0;d:while(1){if(D){Vi(k[X>>2]|0,0,L|0)|0;j=k[X>>2]|0;h=0;d=0;do{if(!(i[S+h>>0]|0)){g=k[Y+(h*12|0)>>2]|0;f=0;do{y=j+(f<<2)|0;k[y>>2]=(k[y>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));d=(1<>0]|0))d=(1<>2]|0;g=0;f=0;do{n=h+(g<<2)|0;y=(k[n>>2]|0)/(w|0)|0;k[n>>2]=y;y=y-(k[b+(g+z<<2)>>2]|0)|0;f=((y|0)>-1?y:0-y|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;if((f|0)<(k[T>>2]|0)){k[T>>2]=f;i[E>>0]=d;k[F>>2]=w;k[O>>2]=k[X>>2];k[P>>2]=k[J>>2];k[M>>2]=k[O>>2];k[N>>2]=k[P>>2];hf(G,M,N)}if(q)break;U=i[o>>0]|0;j=-1;n=U;while(1){d=j+-1|0;m=p+d|0;y=n;n=i[m>>0]|0;if((n&255)<(y&255))break;if((m|0)==(S|0)){W=66;break d}else j=d}d=p+j|0;if((n&255)<(U&255)){g=o;f=U}else{f=p;h=o;while(1){f=i[f+-2>>0]|0;g=h+-1|0;if((n&255)<(f&255))break;else{f=h;h=g}}}i[m>>0]=f;i[g>>0]=n;if((j|0)<-1)f=o;else continue;while(1){y=i[d>>0]|0;i[d>>0]=i[f>>0]|0;i[f>>0]=y;d=d+1|0;f=f+-1|0;if(d>>>0>=f>>>0)continue d}}if(((W|0)==66?(W=0,u):0)?(y=i[S>>0]|0,i[S>>0]=U,i[o>>0]=y,t):0){d=s;f=K;do{y=i[f>>0]|0;i[f>>0]=i[d>>0]|0;i[d>>0]=y;f=f+1|0;d=d+-1|0}while(f>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;j=a+36+(n*12|0)|0;m=a+36+(n*12|0)+4|0;n=a+36+(n*12|0)+8|0;h=0;do{d=k[m>>2]|0;f=k[n>>2]|0;g=(d|0)==(f<<5|0);if(!(l[E>>0]&1<>>0<1073741823?(y>>>0>>0?d:y):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;y=(k[j>>2]|0)+(d>>>5<<2)|0;k[y>>2]=k[y>>2]|1<<(d&31)}else{if(g){if((d+1|0)<0){W=79;break b}y=f<<6;d=d+32&-32;Xg(j,f<<5>>>0<1073741823?(y>>>0>>0?d:y):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;y=(k[j>>2]|0)+(d>>>5<<2)|0;k[y>>2]=k[y>>2]&~(1<<(d&31))}h=h+1|0}while((h|0)<(x|0))}}Ze(V,b+(z<<2)|0,k[G>>2]|0,c,z);d=k[H>>2]|0;f=d;if(d|0){g=k[I>>2]|0;if((g|0)!=(d|0))k[I>>2]=g+(~((g+-4-f|0)>>>2)<<2);cn(d)}if((A|0)<=1)break a;d=k[B>>2]|0;y=A;f=k[d>>2]|0;g=k[d+4>>2]|0}if((W|0)==8)gm(d);else if((W|0)==74)hm(j);else if((W|0)==79)hm(j)}while(0);f=k[Y>>2]|0;if((e|0)>0){d=0;do{k[f+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(e|0))}Ze(V,b,f,c,0);g=k[X>>2]|0;h=g;if(g|0){d=X+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[Y+36>>2]|0;f=d;if(d|0){g=Y+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[Y+24>>2]|0;f=d;if(d|0){g=Y+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[Y+12>>2]|0;f=d;if(d|0){g=Y+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[Y>>2]|0;if(!g){r=Z;return 1}d=Y+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=Z;return 1}function pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=r;r=r+112|0;N=Z+100|0;M=Z+96|0;Y=Z+48|0;X=Z+32|0;S=Z+104|0;T=Z+8|0;O=Z+4|0;P=Z;V=a+8|0;k[V>>2]=e;Q=k[a+24>>2]|0;R=k[a+28>>2]|0;d=Y;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));if(!e){d=0;f=0}else{jh(Y,e);d=k[Y+12>>2]|0;f=k[Y+16>>2]|0}g=Y+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(j=d+(e<<2)|0,(f|0)!=(j|0)):0)k[g>>2]=f+(~((f+-4-j|0)>>>2)<<2)}else jh(Y+12|0,e-h|0);d=Y+24|0;f=Y+28|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[f>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else jh(d,e-g|0);d=Y+36|0;f=Y+40|0;j=k[f>>2]|0;h=k[d>>2]|0;g=j-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(j|0)!=(n|0)):0)k[f>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else jh(d,e-g|0);bj(X,e);B=a+32|0;h=k[B>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){C=Q+12|0;D=(e|0)>0;E=T+4|0;F=T+8|0;G=T+12|0;H=T+12|0;I=T+16|0;J=X+4|0;K=S+1|0;L=e<<2;y=d>>2;d=h;b:while(1){A=y+-1|0;if(g-f>>2>>>0<=A>>>0){W=8;break}w=k[f+(A<<2)>>2]|0;v=(((w>>>0)%3|0|0)==0?2:-1)+w|0;x=(w|v|0)<0;u=(w|0)<0?w:v;t=1;f=0;d=w;c:while(1){do{if((d|0)<=-1){x=f;break c}q=k[Y+(f*12|0)>>2]|0;s=k[C>>2]|0;h=k[s+(d<<2)>>2]|0;if((h|0)>=0){m=k[Q>>2]|0;j=(h>>>0)%3|0;n=k[R>>2]|0;p=k[n+(k[m+(((h>>>0)/3|0)*12|0)+(j<<2)>>2]<<2)>>2]|0;g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0)g=-1073741824;else g=k[m+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;o=k[n+(g<<2)>>2]|0;g=((j|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=k[m+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]|0;g=k[n+(g<<2)>>2]|0;if((p|0)<(A|0)&(o|0)<(A|0)&(g|0)<(A|0)){m=$(p,e)|0;j=$(o,e)|0;h=$(g,e)|0;if(D){g=0;do{k[q+(g<<2)>>2]=(k[b+(g+h<<2)>>2]|0)+(k[b+(g+j<<2)>>2]|0)-(k[b+(g+m<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}f=f+1|0;if((f|0)==4){x=4;break c}}}do if(t){z=d+1|0;d=((z|0)%3|0|0)==0?d+-2|0:z;if((d|0)>=0){d=k[s+(d<<2)>>2]|0;g=d+1|0;if((d|0)>=0)d=((g|0)%3|0|0)==0?d+-2|0:g}}else{d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0){d=k[s+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}while(0);if((d|0)==(w|0)){x=f;break c}}while(!(t&(d|0)<0));if(x){t=0;d=u;continue}d=k[s+(v<<2)>>2]|0;if((d|0)<0){t=0;continue}if(!((d>>>0)%3|0)){t=0;d=d+2|0;continue}else{t=0;d=d+-1|0;continue}}z=$(A,e)|0;k[T>>2]=2147483647;i[E>>0]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;g=$(y+-2|0,e)|0;if(D){f=0;d=0;do{y=(k[b+(f+z<<2)>>2]|0)-(k[b+(f+g<<2)>>2]|0)|0;d=((y|0)>-1?y:0-y|0)+d|0;f=f+1|0}while((f|0)!=(e|0))}else d=0;k[T>>2]=d;i[E>>0]=0;k[F>>2]=0;y=b+(g<<2)|0;lf(G,y,y+(e<<2)|0);if((x|0)>=1){p=S+x|0;o=p+-1|0;q=(o|0)==(S|0);s=p+-2|0;t=K>>>0>>0;u=o>>>0>S>>>0;v=0;w=1;while(1){v=v+1|0;Vi(S|0,1,x|0)|0;Vi(S|0,0,v|0)|0;d:while(1){if(D){Vi(k[X>>2]|0,0,L|0)|0;j=k[X>>2]|0;h=0;d=0;do{if(!(i[S+h>>0]|0)){g=k[Y+(h*12|0)>>2]|0;f=0;do{y=j+(f<<2)|0;k[y>>2]=(k[y>>2]|0)+(k[g+(f<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0));d=(1<>0]|0))d=(1<>2]|0;g=0;f=0;do{n=h+(g<<2)|0;y=(k[n>>2]|0)/(w|0)|0;k[n>>2]=y;y=y-(k[b+(g+z<<2)>>2]|0)|0;f=((y|0)>-1?y:0-y|0)+f|0;g=g+1|0}while((g|0)!=(e|0))}else f=0;if((f|0)<(k[T>>2]|0)){k[T>>2]=f;i[E>>0]=d;k[F>>2]=w;k[O>>2]=k[X>>2];k[P>>2]=k[J>>2];k[M>>2]=k[O>>2];k[N>>2]=k[P>>2];hf(G,M,N)}if(q)break;U=i[o>>0]|0;j=-1;n=U;while(1){d=j+-1|0;m=p+d|0;y=n;n=i[m>>0]|0;if((n&255)<(y&255))break;if((m|0)==(S|0)){W=66;break d}else j=d}d=p+j|0;if((n&255)<(U&255)){g=o;f=U}else{f=p;h=o;while(1){f=i[f+-2>>0]|0;g=h+-1|0;if((n&255)<(f&255))break;else{f=h;h=g}}}i[m>>0]=f;i[g>>0]=n;if((j|0)<-1)f=o;else continue;while(1){y=i[d>>0]|0;i[d>>0]=i[f>>0]|0;i[f>>0]=y;d=d+1|0;f=f+-1|0;if(d>>>0>=f>>>0)continue d}}if(((W|0)==66?(W=0,u):0)?(y=i[S>>0]|0,i[S>>0]=U,i[o>>0]=y,t):0){d=s;f=K;do{y=i[f>>0]|0;i[f>>0]=i[d>>0]|0;i[d>>0]=y;f=f+1|0;d=d+-1|0}while(f>>>0>>0)}if((w|0)>=(x|0))break;else w=w+1|0}if((x|0)>0){n=x+-1|0;j=a+36+(n*12|0)|0;m=a+36+(n*12|0)+4|0;n=a+36+(n*12|0)+8|0;h=0;do{d=k[m>>2]|0;f=k[n>>2]|0;g=(d|0)==(f<<5|0);if(!(l[E>>0]&1<>>0<1073741823?(y>>>0>>0?d:y):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;y=(k[j>>2]|0)+(d>>>5<<2)|0;k[y>>2]=k[y>>2]|1<<(d&31)}else{if(g){if((d+1|0)<0){W=79;break b}y=f<<6;d=d+32&-32;Xg(j,f<<5>>>0<1073741823?(y>>>0>>0?d:y):2147483647);d=k[m>>2]|0}k[m>>2]=d+1;y=(k[j>>2]|0)+(d>>>5<<2)|0;k[y>>2]=k[y>>2]&~(1<<(d&31))}h=h+1|0}while((h|0)<(x|0))}}cf(V,b+(z<<2)|0,k[G>>2]|0,c,z);d=k[H>>2]|0;f=d;if(d|0){g=k[I>>2]|0;if((g|0)!=(d|0))k[I>>2]=g+(~((g+-4-f|0)>>>2)<<2);cn(d)}if((A|0)<=1)break a;d=k[B>>2]|0;y=A;f=k[d>>2]|0;g=k[d+4>>2]|0}if((W|0)==8)gm(d);else if((W|0)==74)hm(j);else if((W|0)==79)hm(j)}while(0);f=k[Y>>2]|0;if((e|0)>0){d=0;do{k[f+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(e|0))}cf(V,b,f,c,0);g=k[X>>2]|0;h=g;if(g|0){d=X+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}d=k[Y+36>>2]|0;f=d;if(d|0){g=Y+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[Y+24>>2]|0;f=d;if(d|0){g=Y+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[Y+12>>2]|0;f=d;if(d|0){g=Y+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[Y>>2]|0;if(!g){r=Z;return 1}d=Y+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=Z;return 1}function qb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+16|0;Q=S;H=a+8|0;k[H>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else jh(i,e-f|0);d=R;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[Q>>2]=0;if(!e){d=0;f=0}else{Ag(R,e,Q);d=k[R+12>>2]|0;f=k[R+16>>2]|0}k[Q>>2]=0;g=R+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Ag(R+12|0,e-h|0,Q);d=R+24|0;k[Q>>2]=0;f=R+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Ag(d,e-g|0,Q);d=R+36|0;k[Q>>2]=0;f=R+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Ag(d,e-g|0,Q);l=k[R>>2]|0;if((k[H>>2]|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;i=0;do{h=k[l+(i<<2)>>2]|0;d=k[m>>2]|0;do if((h|0)<=(d|0)){d=k[n>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[H>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[m>>2]|0)){if((h|0)<(k[n>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[H>>2]|0))}}}u=k[a+48>>2]|0;v=k[a+52>>2]|0;G=xk(16)|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;bj(Q,e);w=a+56|0;f=k[w>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;F=h-g|0;x=F>>2;a:do if((F|0)>4){y=u+64|0;z=u+28|0;A=(e|0)>0;B=a+16|0;C=a+32|0;D=a+12|0;E=a+20|0;F=e<<2;d=1;while(1){if(h-g>>2>>>0<=d>>>0)break;p=k[g+(d<<2)>>2]|0;o=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;q=o>>>5;s=1<<(o&31);t=(o|0)<0;n=1;f=0;g=p;b:while(1){do{if((g|0)<=-1){o=63;break b}i=k[R+(f*12|0)>>2]|0;if(((k[(k[u>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(J=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(J|0)>=0):0)?(M=k[z>>2]|0,m=k[v>>2]|0,K=k[m+(k[M+(J<<2)>>2]<<2)>>2]|0,L=J+1|0,L=k[m+(k[M+((((L|0)%3|0|0)==0?J+-2|0:L)<<2)>>2]<<2)>>2]|0,M=k[m+(k[M+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(K|0)<(d|0)&(L|0)<(d|0)&(M|0)<(d|0)):0){j=$(K,e)|0;l=$(L,e)|0;m=$(M,e)|0;if(A){h=0;do{k[i+(h<<2)>>2]=(k[c+(h+m<<2)>>2]|0)+(k[c+(h+l<<2)>>2]|0)-(k[c+(h+j<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=44;break b}}do if(n){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=k[u>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;i=g+1|0;if((g|0)>=0)g=((i|0)%3|0|0)==0?g+-2|0:i}}else g=-1073741824}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;h=k[u>>2]|0;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=k[(k[(k[y>>2]|0)+12>>2]|0)+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}else g=-1073741824}while(0);if((g|0)==(p|0)){o=63;break b}}while(!(n&(g|0)<0));g=(s&k[h+(q<<2)>>2]|0)!=0;if(g|t){n=0;g=g?-1073741824:o;continue}g=k[(k[(k[y>>2]|0)+12>>2]|0)+(o<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){n=0;g=g+2|0;continue}else{n=0;g=g+-1|0;continue}}if((o|0)==63)if((f|0)>0)o=44;else{P=$(d,e)|0;o=75}if((o|0)==44){o=0;if(A){Vi(k[Q>>2]|0,0,F|0)|0;m=f+-1|0;l=G+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[Q>>2]|0;j=0;g=0;do{t=k[l>>2]|0;k[l>>2]=t+1;if(!(k[m+(t>>>5<<2)>>2]&1<<(t&31))){i=k[R+(j*12|0)>>2]|0;h=0;do{t=n+(h<<2)|0;k[t>>2]=(k[t>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=G+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{t=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}m=$(d,e)|0;if(f){l=k[Q>>2]|0;if(A){g=0;do{t=l+(g<<2)|0;k[t>>2]=(k[t>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[B>>2]|0;do if((i|0)<=(f|0)){f=k[D>>2]|0;g=k[C>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[C>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;do if((h|0)>(k[B>>2]|0))k[g>>2]=h-(k[E>>2]|0);else{if((h|0)>=(k[D>>2]|0))break;k[g>>2]=(k[E>>2]|0)+h}while(0);f=f+1|0}while((f|0)<(k[H>>2]|0))}}}}else{P=m;o=75}}if((o|0)==75?(0,N=c+(($(d+-1|0,e)|0)<<2)|0,O=c+(P<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[N+(j<<2)>>2]|0;f=k[B>>2]|0;do if((i|0)<=(f|0)){f=k[D>>2]|0;g=k[C>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[C>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[O+(f<<2)>>2]=(k[b+(f+P<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=O+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[B>>2]|0)){if((h|0)<(k[D>>2]|0))k[g>>2]=(k[E>>2]|0)+h}else k[g>>2]=h-(k[E>>2]|0);f=f+1|0}while((f|0)<(k[H>>2]|0))}}}d=d+1|0;if((d|0)>=(x|0)){I=Q;break a}f=k[w>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else I=Q;while(0);g=k[I>>2]|0;h=g;if(g|0){d=Q+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-h|0)>>>2)<<2);cn(g)}cn(G);d=k[R+36>>2]|0;f=d;if(d|0){g=R+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[R+24>>2]|0;f=d;if(d|0){g=R+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[R+12>>2]|0;f=d;if(d|0){g=R+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[R>>2]|0;if(!g){r=S;return 1}d=R+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=S;return 1}function rb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+64|0;P=Q+16|0;O=Q;J=a+8|0;k[J>>2]=e;i=a+32|0;d=a+36|0;h=k[d>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0){if(f>>>0>e>>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)k[d>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else jh(i,e-f|0);d=P;f=d+48|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(f|0));k[O>>2]=0;if(!e){d=0;f=0}else{Ag(P,e,O);d=k[P+12>>2]|0;f=k[P+16>>2]|0}k[O>>2]=0;g=P+16|0;h=f-d>>2;if(h>>>0>=e>>>0){if(h>>>0>e>>>0?(l=d+(e<<2)|0,(f|0)!=(l|0)):0)k[g>>2]=f+(~((f+-4-l|0)>>>2)<<2)}else Ag(P+12|0,e-h|0,O);d=P+24|0;k[O>>2]=0;f=P+28|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(m=h+(e<<2)|0,(i|0)!=(m|0)):0)k[f>>2]=i+(~((i+-4-m|0)>>>2)<<2)}else Ag(d,e-g|0,O);d=P+36|0;k[O>>2]=0;f=P+40|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(n=h+(e<<2)|0,(i|0)!=(n|0)):0)k[f>>2]=i+(~((i+-4-n|0)>>>2)<<2)}else Ag(d,e-g|0,O);l=k[P>>2]|0;if((k[J>>2]|0)>0){m=a+16|0;j=a+32|0;n=a+12|0;i=0;do{h=k[l+(i<<2)>>2]|0;d=k[m>>2]|0;do if((h|0)<=(d|0)){d=k[n>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[J>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[J>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[m>>2]|0)){if((h|0)<(k[n>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[J>>2]|0))}}}x=k[a+48>>2]|0;y=k[a+52>>2]|0;I=xk(16)|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;bj(O,e);z=a+56|0;f=k[z>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;H=h-g|0;A=H>>2;a:do if((H|0)>4){B=x+12|0;C=(e|0)>0;D=a+16|0;E=a+32|0;F=a+12|0;G=a+20|0;H=e<<2;d=1;while(1){if(h-g>>2>>>0<=d>>>0)break;v=k[g+(d<<2)>>2]|0;u=(((v>>>0)%3|0|0)==0?2:-1)+v|0;w=(v|u|0)<0;t=(v|0)<0?v:u;s=1;f=0;g=v;b:while(1){do{if((g|0)<=-1){o=64;break b}p=k[P+(f*12|0)>>2]|0;q=k[B>>2]|0;i=k[q+(g<<2)>>2]|0;if((i|0)>=0){l=k[x>>2]|0;j=(i>>>0)%3|0;m=k[y>>2]|0;o=k[m+(k[l+(((i>>>0)/3|0)*12|0)+(j<<2)>>2]<<2)>>2]|0;h=i+1|0;h=((h|0)%3|0|0)==0?i+-2|0:h;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;n=k[m+(h<<2)>>2]|0;h=((j|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=k[l+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;h=k[m+(h<<2)>>2]|0;if((o|0)<(d|0)&(n|0)<(d|0)&(h|0)<(d|0)){l=$(o,e)|0;j=$(n,e)|0;i=$(h,e)|0;if(C){h=0;do{k[p+(h<<2)>>2]=(k[c+(h+i<<2)>>2]|0)+(k[c+(h+j<<2)>>2]|0)-(k[c+(h+l<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}f=f+1|0;if((f|0)==4){f=4;o=47;break b}}}do if(s){p=g+1|0;g=((p|0)%3|0|0)==0?g+-2|0:p;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;h=g+1|0;if((g|0)>=0)g=((h|0)%3|0|0)==0?g+-2|0:h}}else{g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=k[q+(g<<2)>>2]|0;if((g|0)>=0)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}}while(0);if((g|0)==(v|0)){o=64;break b}}while(!(s&(g|0)<0));if(w){s=0;g=t;continue}g=k[q+(u<<2)>>2]|0;if((g|0)<0){s=0;continue}if(!((g>>>0)%3|0)){s=0;g=g+2|0;continue}else{s=0;g=g+-1|0;continue}}if((o|0)==64)if((f|0)>0)o=47;else{N=$(d,e)|0;o=76}if((o|0)==47){o=0;if(C){Vi(k[O>>2]|0,0,H|0)|0;m=f+-1|0;l=I+(m<<2)|0;m=k[a+60+(m*12|0)>>2]|0;n=k[O>>2]|0;j=0;g=0;do{w=k[l>>2]|0;k[l>>2]=w+1;if(!(k[m+(w>>>5<<2)>>2]&1<<(w&31))){i=k[P+(j*12|0)>>2]|0;h=0;do{w=n+(h<<2)|0;k[w>>2]=(k[w>>2]|0)+(k[i+(h<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0));g=g+1|0}j=j+1|0}while((j|0)!=(f|0));f=g}else{j=f+-1|0;i=I+(j<<2)|0;j=k[a+60+(j*12|0)>>2]|0;h=0;g=0;l=k[i>>2]|0;do{w=l;l=l+1|0;k[i>>2]=l;g=g+((k[j+(w>>>5<<2)>>2]&1<<(w&31)|0)==0&1)|0;h=h+1|0}while((h|0)!=(f|0));f=g}m=$(d,e)|0;if(f){l=k[O>>2]|0;if(C){g=0;do{w=l+(g<<2)|0;k[w>>2]=(k[w>>2]|0)/(f|0)|0;g=g+1|0}while((g|0)!=(e|0))}n=c+(m<<2)|0;if((k[J>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[D>>2]|0;do if((i|0)<=(f|0)){f=k[F>>2]|0;g=k[E>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[E>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[J>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[J>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;do if((h|0)>(k[D>>2]|0))k[g>>2]=h-(k[G>>2]|0);else{if((h|0)>=(k[F>>2]|0))break;k[g>>2]=(k[G>>2]|0)+h}while(0);f=f+1|0}while((f|0)<(k[J>>2]|0))}}}}else{N=m;o=76}}if((o|0)==76?(0,L=c+(($(d+-1|0,e)|0)<<2)|0,M=c+(N<<2)|0,(k[J>>2]|0)>0):0){j=0;do{i=k[L+(j<<2)>>2]|0;f=k[D>>2]|0;do if((i|0)<=(f|0)){f=k[F>>2]|0;g=k[E>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[E>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[J>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[M+(f<<2)>>2]=(k[b+(f+N<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[J>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=M+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[D>>2]|0)){if((h|0)<(k[F>>2]|0))k[g>>2]=(k[G>>2]|0)+h}else k[g>>2]=h-(k[G>>2]|0);f=f+1|0}while((f|0)<(k[J>>2]|0))}}}d=d+1|0;if((d|0)>=(A|0)){K=O;break a}f=k[z>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}gm(f)}else K=O;while(0);h=k[K>>2]|0;g=h;if(h|0){d=O+4|0;f=k[d>>2]|0;if((f|0)!=(h|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(h)}cn(I);d=k[P+36>>2]|0;f=d;if(d|0){g=P+40|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[P+24>>2]|0;f=d;if(d|0){g=P+28|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}d=k[P+12>>2]|0;f=d;if(d|0){g=P+16|0;h=k[g>>2]|0;if((h|0)!=(d|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);cn(d)}g=k[P>>2]|0;if(!g){r=Q;return 1}d=P+4|0;f=k[d>>2]|0;if((f|0)!=(g|0))k[d>>2]=f+(~((f+-4-g|0)>>>2)<<2);cn(g);r=Q;return 1}function sb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+48|0;H=J+36|0;K=J+24|0;I=J+12|0;D=J;G=a+4|0;d=k[(k[G>>2]|0)+28>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=d+80|0;d=d+84|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;g=k[d>>2]|0;f=k[c>>2]|0;e=(g-f|0)/12|0;if(b>>>0<=e>>>0){if(b>>>0>>0?(h=f+(b*12|0)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~(((g+-12-h|0)>>>0)/12|0)*12|0)}else Vf(c,b-e|0,H);z=a+228|0;A=a+232|0;if((k[A>>2]|0)==(k[z>>2]|0)){f=k[F>>2]|0;f=(k[f+28>>2]|0)-(k[f+24>>2]|0)>>2;k[H>>2]=-1;xi(K,f,H);f=k[G>>2]|0;b=k[f+28>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){o=I+4|0;p=I+8|0;c=0;n=0;m=b;b=f;g=f;j=e;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;a=n*3|0;if((n|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((a>>>0)/3|0)*12|0)+(((a>>>0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;f=k[e>>2]|0;if((f|0)==-1){k[e>>2]=c;h=c+1|0;l=c}else{h=c;l=f}k[I>>2]=l;c=a+1|0;if((a|0)<-1)c=-1073741824;else c=k[(k[k[F>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;e=i+(c<<2)|0;c=k[e>>2]|0;if((c|0)==-1){k[e>>2]=h;e=h+1|0;c=h}else e=h;k[o>>2]=c;c=a+2|0;if((a|0)<-2)c=-1073741824;else c=k[(k[k[F>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=i+(c<<2)|0;f=k[c>>2]|0;if((f|0)==-1){k[c>>2]=e;c=e+1|0}else{c=e;e=f}k[p>>2]=e;h=m+80|0;a=m+84|0;f=(j-d|0)/12|0;e=d;i=n;n=n+1|0;if((i|0)<(f|0)){h=j;f=m}else{b=j;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;if(n>>>0<=f>>>0)if(n>>>0>>0?(q=e+(n*12|0)|0,(b|0)!=(q|0)):0){b=b+(~(((b+-12-q|0)>>>0)/12|0)*12|0)|0;k[a>>2]=b;f=m}else{f=m;b=j}else{Vf(h,n-f|0,H);g=k[G>>2]|0;d=k[g+28>>2]|0;e=k[h>>2]|0;f=d;b=k[d+84>>2]|0;d=k[d+80>>2]|0}h=b;b=g}k[e+(i*12|0)>>2]=l;k[e+(i*12|0)+4>>2]=k[o>>2];k[e+(i*12|0)+8>>2]=k[p>>2];if((n|0)>=((h-d|0)/12|0|0)){d=K;break}else{m=f;j=h}}}else{c=0;d=K;b=f}k[(k[b+4>>2]|0)+64>>2]=c;d=k[d>>2]|0;e=d;if(d|0){b=K+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);cn(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;bj(I,(((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0);b=k[F>>2]|0;a:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[b+24>>2]|0)+(p<<2)>>2]|0;c:do if((f|0)>=0){d:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(w=k[A>>2]|0,x=k[z>>2]|0,y=x,(w|0)!=(x|0)):0){h=(f>>>0)/3|0;a=(f>>>0)%3|0;g=((a|0)==0?2:-1)+f|0;i=(g|0)<0;j=(w-x|0)/116|0;l=b+12|0;m=b+12|0;e=0;e:while(1){o=k[(k[k[y+(e*116|0)+68>>2]>>2]|0)+(h*12|0)+(a<<2)>>2]|0;do if(1<<(o&31)&k[(k[y+(e*116|0)+16>>2]|0)+(o>>>5<<2)>>2]|0){n=k[y+(e*116|0)+32>>2]|0;o=k[n+(f<<2)>>2]|0;if(!i){c=k[(k[l>>2]|0)+(g<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=g;while(1){c=k[n+(d<<2)>>2]|0;if((d|0)<0)break e;if((c|0)!=(o|0)){f=d;break d}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[m>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=j>>>0)break d}while(1)if((c|0)==(o|0))c=o;else{f=d;break}}while(0);c=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=c-(k[K>>2]|0)>>2;k[H>>2]=f;if(c>>>0<(k[s>>2]|0)>>>0){k[c>>2]=f;k[E>>2]=c+4}else{xh(K,H);b=k[F>>2]|0}if((((f|0)>=0?(u=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(u|0)>=0):0)?(t=k[(k[b+12>>2]|0)+(u<<2)>>2]|0,(t|0)>=0):0)?(v=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(v|0)>-1&(v|0)!=(f|0)):0){g=v;d=f;while(1){if((g|0)<0)break b;b=k[A>>2]|0;c=k[z>>2]|0;e=c;f:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){o=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[o+(g<<2)>>2]|0)!=(k[o+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){B=77;break f}}b=k[E>>2]|0;k[(k[I>>2]|0)+(g<<2)>>2]=b-(k[K>>2]|0)>>2;k[H>>2]=g;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=g;k[E>>2]=b+4}else xh(K,H)}else B=77;while(0);if((B|0)==77){B=0;o=k[I>>2]|0;k[o+(g<<2)>>2]=k[o+(d<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break c;b=k[(k[(k[F>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break c;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(f|0)){d=g;g=b}else break}}}while(0);p=p+1|0;b=k[F>>2]|0;if((p|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break a}g:while(1){b=k[A>>2]|0;c=k[z>>2]|0;e=c;h:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){J=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[J+(g<<2)>>2]|0)!=(k[J+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break h}b=k[E>>2]|0;k[(k[I>>2]|0)+(g<<2)>>2]=b-(k[K>>2]|0)>>2;k[H>>2]=g;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=g;k[E>>2]=b+4}else xh(K,H);d=g;continue g}while(0);J=k[I>>2]|0;k[J+(g<<2)>>2]=k[J+(d<<2)>>2];d=g}}while(0);c=k[G>>2]|0;b=k[c+28>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){n=D+4|0;o=D+8|0;m=0;i=c;j=c;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(m*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;h=b+84|0;a=(e-d|0)/12|0;c=d;l=m;m=m+1|0;if((l|0)<(a|0)){g=c;c=i;f=j}else{f=e;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;if(m>>>0<=a>>>0)if(m>>>0>>0?(C=c+(m*12|0)|0,(f|0)!=(C|0)):0){e=f+(~(((f+-12-C|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;f=j}else f=j;else{Vf(g,m-a|0,H);f=k[G>>2]|0;d=k[f+28>>2]|0;c=k[g>>2]|0;b=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}g=c;c=f}k[g+(l*12|0)>>2]=k[D>>2];k[g+(l*12|0)+4>>2]=k[n>>2];k[g+(l*12|0)+8>>2]=k[o>>2];if((m|0)>=((e-d|0)/12|0|0))break;else{i=c;j=f}}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;d=k[I>>2]|0;e=d;if(d){b=I+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);cn(d);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);cn(b)}r=J;return 1}function tb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0;fa=r;r=r+80|0;da=fa+64|0;j=fa+16|0;ea=fa+40|0;X=fa+28|0;W=fa;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;ba=c+4|0;n=k[ba>>2]|0;Y=c+8|0;l=k[Y>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;Z=ea+8|0;_=ea+4|0;$=ea+16|0;aa=ea+20|0;rc(ea);g=k[_>>2]|0;o=k[Z>>2]|0;h=(k[aa>>2]|0)+(k[$>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[j>>2];k[V+4>>2]=k[j+4>>2];k[V+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[aa>>2]|0)+1|0;k[aa>>2]=g;if(!g){fg(ea);r=fa;return}O=a+44|0;P=a+40|0;N=f+4|0;Q=da+4|0;R=da+8|0;S=a+24|0;T=a+20|0;U=a+84|0;V=a+80|0;e=o;a:while(1){K=k[$>>2]|0;J=g+-1|0;h=J+K|0;L=k[_>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[X>>2]=k[H>>2];k[X+4>>2]=k[H+4>>2];k[X+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[aa>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[Z>>2]=(k[Z>>2]|0)+-4}k[c>>2]=j;k[ba>>2]=b;k[Y>>2]=l;k[d>>2]=k[X>>2];k[d+4>>2]=k[X+4>>2];k[d+8>>2]=k[X+8>>2];k[da>>2]=k[X>>2];k[da+4>>2]=k[X+4>>2];k[da+8>>2]=k[X+8>>2];p=Jk(a,M,c,da,h)|0;e=d+(p<<2)|0;m=k[e>>2]|0;g=k[a>>2]|0;L=g-m|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=uk(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ii((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[da>>2]=k[c>>2];k[Q>>2]=k[ba>>2];k[R>>2]=k[Y>>2];j=da+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>0>=33){g=30;break a}if(!j){g=32;break a}b=k[S>>2]|0;g=32-b|0;l=k[T>>2]|0;h=k[l>>2]<>>(32-j|0);L=b+j|0;k[S>>2]=L;if((L|0)==32){k[T>>2]=l+4;k[S>>2]=0}}else{L=j-g|0;k[S>>2]=L;K=l+4|0;k[T>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}b=(M>>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[U>>2]|0;g=k[V>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[U>>2]=M;if((M|0)==32){k[V>>2]=g+4;k[U>>2]=0}n=j?b:h;o=j?h:b}k[e>>2]=m+1;if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[ba>>2]|0;m=k[Y>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0;M=b-j|0;g=k[$>>2]|0;h=k[aa>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ea);g=k[$>>2]|0;h=k[aa>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[W>>2];k[M+4>>2]=k[W+4>>2];k[M+8>>2]=k[W+8>>2];k[g+28>>2]=p;k[aa>>2]=(k[aa>>2]|0)+1}if(o|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0;M=b-j|0;g=k[$>>2]|0;h=k[aa>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ea);g=k[$>>2]|0;h=k[aa>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[W>>2];k[M+4>>2]=k[W+4>>2];k[M+8>>2]=k[W+8>>2];k[g+28>>2]=p;k[aa>>2]=(k[aa>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=da+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=da+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=da+(t<<2)|0;s=c+(t<<2)|0;t=da+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=da+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ga=L-g|0;k[O>>2]=ga;j=b+4|0;k[P>>2]=j;b=32-ga|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=K-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ga=j+K|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=C-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ga=j+C|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ga=k[b>>2]|0;b=uk(g|0,((g|0)<0)<<31>>31|0,ga|0,k[b+4>>2]|0)|0;Ii((k[k[G>>2]>>2]|0)+b|0,da|0,ga|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[aa>>2]|0;if(!g){g=57;break}e=k[Z>>2]|0}if((g|0)==14)Ka(13811,13849,231,13919);else if((g|0)==19)Ka(13932,13956,48,13984);else if((g|0)==21)Ka(14013,13956,49,13984);else if((g|0)==30)Ka(13932,13956,48,13984);else if((g|0)==32)Ka(14013,13956,49,13984);else if((g|0)==57){fg(ea);r=fa;return}}function ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0;ea=r;r=r+80|0;ba=ea+64|0;i=ea+16|0;da=ea+40|0;W=ea+28|0;V=ea;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;aa=c+4|0;m=k[aa>>2]|0;X=c+8|0;j=k[X>>2]|0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[da+12>>2]=0;k[da+16>>2]=0;k[da+20>>2]=0;Y=da+8|0;Z=da+4|0;_=da+16|0;$=da+20|0;rc(da);g=k[Z>>2]|0;n=k[Y>>2]|0;h=(k[$>>2]|0)+(k[_>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;U=g+16|0;k[U>>2]=k[i>>2];k[U+4>>2]=k[i+4>>2];k[U+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[$>>2]|0)+1|0;k[$>>2]=g;if(!g){fg(da);r=ea;return}L=a+44|0;M=a+40|0;N=ba+4|0;O=ba+8|0;P=ba+4|0;Q=ba+8|0;R=a+24|0;S=a+20|0;T=a+84|0;U=a+80|0;e=n;a:while(1){I=k[_>>2]|0;H=g+-1|0;h=H+I|0;J=k[Z>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[W>>2]=k[F>>2];k[W+4>>2]=k[F+4>>2];k[W+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[$>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[Y>>2]=(k[Y>>2]|0)+-4}k[c>>2]=i;k[aa>>2]=b;k[X>>2]=j;k[d>>2]=k[W>>2];k[d+4>>2]=k[W+4>>2];k[d+8>>2]=k[W+8>>2];k[ba>>2]=k[W>>2];k[ba+4>>2]=k[W+4>>2];k[ba+8>>2]=k[W+8>>2];o=Jk(a,K,c,ba,h)|0;e=d+(o<<2)|0;l=k[e>>2]|0;g=k[a>>2]|0;J=g-l|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))xg(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[X>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[ba>>2]=k[c>>2];k[P>>2]=k[aa>>2];k[Q>>2]=k[X>>2];i=ba+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>0>=33){g=32;break a}if(!i){g=34;break a}b=k[R>>2]|0;g=32-b|0;j=k[S>>2]|0;h=k[j>>2]<>>(32-i|0);J=b+i|0;k[R>>2]=J;if((J|0)==32){k[S>>2]=j+4;k[R>>2]=0}}else{J=i-g|0;k[R>>2]=J;I=j+4|0;k[S>>2]=I;J=32-J|0;g=(k[I>>2]|0)>>>J|h>>>(J-g|0)}b=(K>>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[T>>2]|0;g=k[U>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[T>>2]=K;if((K|0)==32){k[U>>2]=g+4;k[T>>2]=0}m=i?b:h;n=i?h:b}k[e>>2]=l+1;if(m|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[aa>>2]|0;l=k[X>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0;K=b-i|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(da);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[V>>2];k[K+4>>2]=k[V+4>>2];k[K+8>>2]=k[V+8>>2];k[g+28>>2]=o;k[$>>2]=(k[$>>2]|0)+1}if(n|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];j=k[ba>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0;K=b-i|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){rc(da);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[V>>2];k[K+4>>2]=k[V+4>>2];k[K+8>>2]=k[V+8>>2];k[g+28>>2]=o;k[$>>2]=(k[$>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=ba+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=ba+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=ba+(s<<2)|0;q=c+(s<<2)|0;s=ba+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=ba+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{fa=J-g|0;k[L>>2]=fa;i=b+4|0;k[M>>2]=i;b=32-fa|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=I-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;fa=i+I|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=C-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;fa=i+C|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))xg(B,ba);else{k[g>>2]=k[ba>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[$>>2]|0;if(!g){g=58;break}e=k[Y>>2]|0}if((g|0)==15)Ka(13811,13849,231,13919);else if((g|0)==21)Ka(13932,13956,48,13984);else if((g|0)==23)Ka(14013,13956,49,13984);else if((g|0)==32)Ka(13932,13956,48,13984);else if((g|0)==34)Ka(14013,13956,49,13984);else if((g|0)==58){fg(da);r=ea;return}}function vb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;rc(ba);g=k[Y>>2]|0;o=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){fg(ba);r=da;return}O=a+552|0;P=a+548|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+592|0;T=a+588|0;e=o;a:while(1){K=k[Z>>2]|0;J=g+-1|0;h=J+K|0;L=k[Y>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[V>>2]=k[H>>2];k[V+4>>2]=k[H+4>>2];k[V+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[_>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=j;k[$>>2]=b;k[W>>2]=l;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=Lh(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=uk(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ii((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=uk(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ii((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=51;break}e=k[X>>2]|0}if((g|0)==14)Ka(13811,13849,231,13919);else if((g|0)==19)Ka(13932,13956,48,13984);else if((g|0)==21)Ka(14013,13956,49,13984);else if((g|0)==51){fg(ba);r=da;return}}function wb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;rc(ba);g=k[Y>>2]|0;o=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){fg(ba);r=da;return}O=a+552|0;P=a+548|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+592|0;T=a+588|0;e=o;a:while(1){K=k[Z>>2]|0;J=g+-1|0;h=J+K|0;L=k[Y>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[V>>2]=k[H>>2];k[V+4>>2]=k[H+4>>2];k[V+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[_>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){cn(k[e+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=j;k[$>>2]=b;k[W>>2]=l;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=Jk(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=uk(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ii((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=uk(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ii((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=51;break}e=k[X>>2]|0}if((g|0)==14)Ka(13811,13849,231,13919);else if((g|0)==19)Ka(13932,13956,48,13984);else if((g|0)==21)Ka(14013,13956,49,13984);else if((g|0)==51){fg(ba);r=da;return}}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+976|0;I=J+960|0;B=J+8|0;q=J+952|0;C=J+944|0;D=J+936|0;E=J+928|0;F=J+920|0;G=J+912|0;H=J+904|0;v=J+896|0;x=J+888|0;y=J+880|0;z=J+872|0;A=J;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Ka(13387,13403,62,13431);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Ka(13441,13403,63,13431);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);d=b+8|0;c=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>f>>>0)){I=0;r=J;return I|0}h=k[b>>2]|0;K=i[h+f>>0]|0;j=sl(f|0,g|0,1,0)|0;m=M;L=e;k[L>>2]=j;k[L+4>>2]=m;switch(K<<24>>24){case 0:{if(((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(s=sl(f|0,g|0,2,0)|0,t=e,k[t>>2]=s,k[t+4>>2]=M,t=sl(f|0,g|0,6,0)|0,u=M,!((d|0)<(u|0)|(d|0)==(u|0)&c>>>0>>0)):0)?(L=h+s|0,L=l[L>>0]|l[L+1>>0]<<8|l[L+2>>0]<<16|l[L+3>>0]<<24,K=e,k[K>>2]=t,k[K+4>>2]=u,Jh(a,L)|0,pl(B),k[q>>2]=a,k[q+4>>2]=0,k[I>>2]=k[q>>2],k[I+4>>2]=k[q+4>>2],ye(B,b,I)|0):0){L=1;r=J;return L|0}L=0;r=J;return L|0}case 1:{a:do if((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(w=i[h+j>>0]|0,n=sl(f|0,g|0,2,0)|0,o=e,k[o>>2]=n,k[o+4>>2]=M,o=sl(f|0,g|0,6,0)|0,p=M,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0){L=h+n|0;L=l[L>>0]|l[L+1>>0]<<8|l[L+2>>0]<<16|l[L+3>>0]<<24;K=e;k[K>>2]=o;k[K+4>>2]=p;Jh(a,L)|0;do switch(w<<24>>24){case 0:{jk(B);k[C>>2]=a;k[C+4>>2]=0;k[I>>2]=k[C>>2];k[I+4>>2]=k[C+4>>2];L=fe(B,b,I)|0;ej(B+68|0);ej(B+48|0);ej(B+28|0);ej(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 1:{jk(B);k[D>>2]=a;k[D+4>>2]=0;k[I>>2]=k[D>>2];k[I+4>>2]=k[D+4>>2];L=fe(B,b,I)|0;ej(B+68|0);ej(B+48|0);ej(B+28|0);ej(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 2:{kk(B);k[E>>2]=a;k[E+4>>2]=0;k[I>>2]=k[E>>2];k[I+4>>2]=k[E+4>>2];L=ge(B,b,I)|0;ej(B+64|0);ej(B+44|0);ej(B+24|0);fn(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 3:{kk(B);k[F>>2]=a;k[F+4>>2]=0;k[I>>2]=k[F>>2];k[I+4>>2]=k[F+4>>2];L=ge(B,b,I)|0;ej(B+64|0);ej(B+44|0);ej(B+24|0);fn(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 4:{Xj(B);k[G>>2]=a;k[G+4>>2]=0;k[I>>2]=k[G>>2];k[I+4>>2]=k[G+4>>2];L=Td(B,b,I)|0;ej(B+576|0);ej(B+556|0);ej(B+536|0);fn(B+520|0);Eh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 5:{Xj(B);k[H>>2]=a;k[H+4>>2]=0;k[I>>2]=k[H>>2];k[I+4>>2]=k[H+4>>2];L=Td(B,b,I)|0;ej(B+576|0);ej(B+556|0);ej(B+536|0);fn(B+520|0);Eh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 6:{Xj(B);k[v>>2]=a;k[v+4>>2]=0;k[I>>2]=k[v>>2];k[I+4>>2]=k[v+4>>2];L=Sd(B,b,I)|0;ej(B+576|0);ej(B+556|0);ej(B+536|0);fn(B+520|0);Eh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 7:{Xj(B);k[x>>2]=a;k[x+4>>2]=0;k[I>>2]=k[x>>2];k[I+4>>2]=k[x+4>>2];L=Sd(B,b,I)|0;ej(B+576|0);ej(B+556|0);ej(B+536|0);fn(B+520|0);Eh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 8:{Qj(B);k[y>>2]=a;k[y+4>>2]=0;k[I>>2]=k[y>>2];k[I+4>>2]=k[y+4>>2];L=Qd(B,b,I)|0;ej(B+840|0);ej(B+820|0);ej(B+800|0);Fm(B+776|0);bg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 9:{Qj(B);k[z>>2]=a;k[z+4>>2]=0;k[I>>2]=k[z>>2];k[I+4>>2]=k[z+4>>2];L=Qd(B,b,I)|0;ej(B+840|0);ej(B+820|0);ej(B+800|0);Fm(B+776|0);bg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 10:{Qj(B);k[A>>2]=a;k[A+4>>2]=0;k[I>>2]=k[A>>2];k[I+4>>2]=k[A+4>>2];L=Pd(B,b,I)|0;ej(B+840|0);ej(B+820|0);ej(B+800|0);Fm(B+776|0);bg(B+8|0);if(L)a=1;else break a;r=J;return a|0}default:break a}while(0)}while(0);L=0;r=J;return L|0}default:{L=0;r=J;return L|0}}return 0}function yb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;rc(ba);g=k[Y>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){fg(ba);r=da;return}O=a+816|0;P=a+812|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+856|0;T=a+852|0;a:while(1){j=k[Y>>2]|0;L=k[Z>>2]|0;K=k[j+(L>>>7<<2)>>2]|0;h=L&127;M=k[K+(h<<5)>>2]|0;b=k[K+(h<<5)+4>>2]|0;l=k[K+(h<<5)+8>>2]|0;e=k[K+(h<<5)+12>>2]|0;J=K+(h<<5)+16|0;k[V>>2]=k[J>>2];k[V+4>>2]=k[J+4>>2];k[V+8>>2]=k[J+8>>2];h=k[K+(h<<5)+28>>2]|0;k[_>>2]=g+-1;L=L+1|0;k[Z>>2]=L;if(L>>>0>255){cn(k[j>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[c>>2]=b;k[$>>2]=l;k[W>>2]=e;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=Kh(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=uk(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ii((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=uk(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ii((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=50;break}}if((g|0)==14)Ka(13811,13849,231,13919);else if((g|0)==19)Ka(13932,13956,48,13984);else if((g|0)==21)Ka(14013,13956,49,13984);else if((g|0)==50){fg(ba);r=da;return}}function zb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0;fa=r;r=r+96|0;da=fa+72|0;j=fa+16|0;ea=fa+48|0;W=fa+32|0;aa=fa+28|0;V=fa;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];n=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;X=c+8|0;m=k[X>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;Y=ea+8|0;Z=ea+4|0;_=ea+16|0;$=ea+20|0;rc(ea);g=k[Z>>2]|0;o=k[Y>>2]|0;h=(k[$>>2]|0)+(k[_>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=n;k[g+8>>2]=l;k[g+12>>2]=m;U=g+16|0;k[U>>2]=k[j>>2];k[U+4>>2]=k[j+4>>2];k[U+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[$>>2]|0)+1|0;k[$>>2]=g;if(!g){fg(ea);r=fa;return}O=a+40|0;P=a+36|0;N=f+4|0;Q=da+4|0;R=da+8|0;S=a+8|0;T=a+80|0;U=a+76|0;m=o;a:while(1){K=k[_>>2]|0;J=g+-1|0;h=J+K|0;L=k[Z>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[W>>2]=k[H>>2];k[W+4>>2]=k[H+4>>2];k[W+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[$>>2]=J;L=m-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){cn(k[m+-4>>2]|0);k[Y>>2]=(k[Y>>2]|0)+-4}k[c>>2]=j;k[ba>>2]=b;k[X>>2]=l;k[d>>2]=k[W>>2];k[d+4>>2]=k[W+4>>2];k[d+8>>2]=k[W+8>>2];k[da>>2]=k[W>>2];k[da+4>>2]=k[W+4>>2];k[da+8>>2]=k[W+8>>2];p=Jk(a,M,c,da,h)|0;l=d+(p<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;L=g-m|0;do if(!L){if((M|0)>0){e=k[f>>2]|0;b=e+84|0;l=e+68|0;m=e+40|0;e=e+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=m;L=k[K>>2]|0;K=uk(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ii((k[k[e>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[da>>2]=k[c>>2];k[Q>>2]=k[ba>>2];k[R>>2]=k[X>>2];b=da+(p<<2)|0;k[b>>2]=(k[b>>2]|0)+(1<>2]=0;Qh(S,b,aa);b=(M>>>1)-(k[aa>>2]|0)|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[T>>2]|0;g=k[U>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[T>>2]=M;if((M|0)==32){k[U>>2]=g+4;k[T>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=m+1;if(n|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[ba>>2]|0;e=k[X>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0;M=b-j|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ea);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;M=g+16|0;k[M>>2]=k[V>>2];k[M+4>>2]=k[V+4>>2];k[M+8>>2]=k[V+8>>2];k[g+28>>2]=p;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[Q>>2]|0;e=k[R>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0;M=b-j|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){rc(ea);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;M=g+16|0;k[M>>2]=k[V>>2];k[M+4>>2]=k[V+4>>2];k[M+8>>2]=k[V+8>>2];k[g+28>>2]=p;k[$>>2]=(k[$>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=da+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;m=da+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;e=da+(t<<2)|0;s=c+(t<<2)|0;t=da+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=da+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ga=L-g|0;k[O>>2]=ga;j=b+4|0;k[P>>2]=j;b=32-ga|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=K-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ga=j+K|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=C-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ga=j+C|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ga=k[b>>2]|0;b=uk(g|0,((g|0)<0)<<31>>31|0,ga|0,k[b+4>>2]|0)|0;Ii((k[k[G>>2]>>2]|0)+b|0,da|0,ga|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[$>>2]|0;if(!g){g=49;break}m=k[Y>>2]|0}if((g|0)==14)Ka(13811,13849,231,13919);else if((g|0)==19)Ka(13932,13956,48,13984);else if((g|0)==21)Ka(14013,13956,49,13984);else if((g|0)==49){fg(ea);r=fa;return}} +function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;h=p+32|0;n=a+28|0;g=k[n>>2]|0;k[h>>2]=g;o=a+20|0;g=(k[o>>2]|0)-g|0;k[h+4>>2]=g;k[h+8>>2]=b;k[h+12>>2]=c;i=a+60|0;j=a+44|0;f=2;b=g+c|0;while(1){if(!(k[4606]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=h;k[m+8>>2]=f;e=Al(Da(146,m|0)|0)|0}else{wa(95,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=h;k[l+8>>2]=f;e=Al(Da(146,l|0)|0)|0;ta(0)}if((b|0)==(e|0)){b=6;break}if((e|0)<0){b=8;break}b=b-e|0;d=k[h+4>>2]|0;if(e>>>0<=d>>>0)if((f|0)==2){k[n>>2]=(k[n>>2]|0)+e;f=2;g=h}else g=h;else{g=k[j>>2]|0;k[n>>2]=g;k[o>>2]=g;e=e-d|0;f=f+-1|0;g=h+8|0;d=k[h+12>>2]|0}k[g>>2]=(k[g>>2]|0)+e;k[g+4>>2]=d-e;h=g}if((b|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((b|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((f|0)==2)c=0;else c=c-(k[h+4>>2]|0)|0}r=p;return c|0}function Bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=i[b>>0]|0;l=i[b+1>>0]|0;h=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((j&255^318)+239^l&255)+239^h&255)+239^g&255;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;if(d-g>>2>>>0>=b>>>0){h=a+4|0;a=k[h>>2]|0;f=a-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=a;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[h>>2]=a+(e<<2);return}else{d=i+(b<<2)|0;if((a|0)==(d|0))return;k[h>>2]=a+(~((a+-4-d|0)>>>2)<<2);return}}else{f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);cn(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)hm(a);i=d-0|0;d=i>>1;d=i>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823)hm(a);f=xk(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}}function Df(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Ef(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+d>>0]|0;b=sl(d|0,e|0,1,0)|0;d=c;k[d>>2]=b;k[d+4>>2]=M;d=a+32|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=xk(336)|0;Zh(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 1:{b=xk(376)|0;ii(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}case 2:{b=xk(392)|0;ih(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ta[k[(k[c>>2]|0)+4>>2]&127](c);g=11}break}default:g=11}if((g|0)==11){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=Za[k[(k[b>>2]|0)+8>>2]&127](b,a)|0;return h|0}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=c;g=b;f=i-g|0;j=f>>2;h=a+8|0;d=k[h>>2]|0;m=k[a>>2]|0;l=m;if(j>>>0<=d-m>>2>>>0){h=a+4|0;a=(k[h>>2]|0)-m>>2;f=j>>>0>a>>>0;a=f?b+(a<<2)|0:c;e=a;d=e-g|0;c=d>>2;if(c|0)Wj(m|0,b|0,d|0)|0;c=l+(c<<2)|0;if(f){d=i-e|0;if((d|0)<=0)return;Ii(k[h>>2]|0,a|0,d|0)|0;k[h>>2]=(k[h>>2]|0)+(d>>2<<2);return}else{d=k[h>>2]|0;if((d|0)==(c|0))return;k[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=m;if(m){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(l|0))k[d>>2]=c+(~((c+-4-m|0)>>>2)<<2);cn(e);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(j>>>0>1073741823)hm(a);m=d-0|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;if(d>>>0>1073741823)hm(a);c=xk(d<<2)|0;e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[h>>2]=c+(d<<2);if((f|0)<=0)return;Ii(c|0,b|0,f|0)|0;k[e>>2]=c+(j<<2);return}function Gf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;e=k[h>>2]|0;g=e+8|0;f=k[g+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}e=i[(k[e>>2]|0)+c>>0]|0;f=sl(c|0,d|0,1,0)|0;g=b;k[g>>2]=f;k[g+4>>2]=M;g=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(Za[k[(k[a>>2]|0)+16>>2]&127](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(Ra[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(Za[k[(k[j>>2]|0)+12>>2]&127](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(Va[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=Va[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=b;f=c-g|0;h=a+8|0;d=k[h>>2]|0;e=k[a>>2]|0;j=e;if(f>>>0>(d-e|0)>>>0){if(e){d=a+4|0;if((k[d>>2]|0)!=(j|0))k[d>>2]=j;cn(j);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if((f|0)<0)hm(a);j=d-0|0;e=j<<1;e=j>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if((e|0)<0)hm(a);d=xk(e)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[h>>2]=d+e;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;b=b+1|0;d=(k[f>>2]|0)+1|0;k[f>>2]=d}while((b|0)!=(c|0));return}else{h=a+4|0;d=(k[h>>2]|0)-e|0;a=f>>>0>d>>>0;d=b+d|0;f=a?d:c;e=f-g|0;if(e|0)Wj(j|0,b|0,e|0)|0;b=j+e|0;if(!a){if((k[h>>2]|0)==(b|0))return;k[h>>2]=b;return}if((f|0)==(c|0))return;b=k[h>>2]|0;do{i[b>>0]=i[d>>0]|0;d=d+1|0;b=(k[h>>2]|0)+1|0;k[h>>2]=b}while((d|0)!=(c|0));return}}function If(a,b,c){a=da(a);b=da(b);c=c|0;var d=Pa,e=Pa,f=Pa,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;d=da(a+b);e=da(a-b);if(!(e<=da(.5))|(!(e>=da(-.5))|(!(d>=da(.5))|!(d<=da(1.5))))){do if(!(d<=da(.5))){if(d>=da(1.5)){f=da(da(1.5)-b);b=da(da(1.5)-a);break}if(!(e<=da(-.5))){f=da(b+da(.5));b=da(a+da(-.5));break}else{f=da(b+da(-.5));b=da(a+da(.5));break}}else{f=da(da(.5)-b);b=da(da(.5)-a)}while(0);d=da(b+f);e=da(f-b);g=-1.0}else{g=1.0;f=a}a=da(+f*2.0+-1.0);f=da(+b*2.0+-1.0);j=+d*2.0;h=j+-1.0;j=3.0-j;k=+e*2.0;i=k+1.0;k=1.0-k;i=k>2]=da(0.0);a=da(0.0);b=da(0.0);l=c+4|0;o[l>>2]=b;c=c+8|0;o[c>>2]=a;return}else{e=da(da(1.0)/da(P(da(e))));b=da(d*e);o[c>>2]=b;b=da(f*e);a=da(a*e);l=c+4|0;o[l>>2]=a;l=c+8|0;o[l>>2]=b;return}}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;k[c>>2]=k[b>>2];sf(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;k[d>>2]=k[e>>2];k[d+4>>2]=k[e+4>>2];k[d+8>>2]=k[e+8>>2];k[d+12>>2]=k[e+12>>2];if((c|0)==(b|0)){k[a+96>>2]=k[b+88>>2];return}else{tf(a+60|0,k[b+52>>2]|0,k[b+56>>2]|0);tf(a+72|0,k[b+64>>2]|0,k[b+68>>2]|0);tf(a+84|0,k[b+76>>2]|0,k[b+80>>2]|0);k[a+96>>2]=k[b+88>>2];Ff(a+100|0,k[b+92>>2]|0,k[b+96>>2]|0);return}}function Kf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;b=g+40|0;c=f;d=a;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));a:do if(ze(f,b)|0){switch(i[b+7>>0]|0){case 0:{e=fi(i[b+8>>0]|0)|0;if(!e){b=0;break a}d=xk(68)|0;bl(d);b=wh(e,a,d)|0;c=b?0:d;if(!b)Ta[k[(k[c>>2]|0)+4>>2]&127](c);Ta[k[(k[e>>2]|0)+4>>2]&127](e);b=b?d:0;break a}case 1:break;default:{b=0;break a}}switch(i[b+8>>0]|0){case 0:{d=xk(32)|0;jm(d);break}case 1:{d=xk(36)|0;Gl(d);break}default:{b=0;break a}}e=xk(92)|0;qk(e);b=Ek(d,a,e)|0;c=b?0:e;if(!b)Ta[k[(k[c>>2]|0)+4>>2]&127](c);Ta[k[(k[d>>2]|0)+4>>2]&127](d);b=b?e:0}else b=0;while(0);fn(f+24|0);r=g;return b|0}function Lf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];zc(a,n,c,d);h=$(d,e)|0;Sg(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)gm(h);return 0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;e=k[m>>2]|0;n=a+4|0;f=k[n>>2]|0;if(e-f>>2>>>0>=b>>>0){Vi(f|0,0,b<<2|0)|0;k[n>>2]=f+(b<<2);return}i=k[a>>2]|0;d=(f-i>>2)+b|0;if(d>>>0>1073741823)hm(a);c=f;l=i;j=e-i|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;f=f-i>>2;do if(g)if(g>>>0>1073741823){n=Ma(4)|0;Om(n);xa(n|0,1024,93)}else{h=xk(g<<2)|0;break}else h=0;while(0);d=h+(f<<2)|0;Vi(d|0,0,b<<2|0)|0;e=d;j=h+(g<<2)|0;g=h+(f+b<<2)|0;if((c|0)==(l|0))f=i;else{do{c=c+-4|0;i=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=i;d=e+-4|0;e=d}while((c|0)!=(l|0));f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=e;k[n>>2]=g;k[m>>2]=j;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;cn(f);return}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;e=k[a+8>>2]|0;f=k[c>>2]|0;g=(f|0)/3|0;if((f|0)<=-3)Ka(14172,14197,63,14211);d=k[e+80>>2]|0;if((g|0)>=(((k[e+84>>2]|0)-d|0)/12|0|0))Ka(14216,14197,64,14211);d=k[d+(g*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))xh(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){xh(e,c);a=k[d>>2]|0;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=i;return}else{k[g>>2]=k[c>>2];k[f>>2]=g+4;a=e;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=i;return}}function Of(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];oc(a,m,b,d);h=$(d,e)|0;Ze(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)gm(h);return 0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;m=k[o>>2]|0;n=k[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-m|0;l=e>>2;f=c+(0-l<<2)|0;if(l){Wj(f|0,m|0,e|0)|0;c=f;d=k[n>>2]|0}k[o>>2]=c;k[n>>2]=d+(g<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){o=Ma(4)|0;Om(o);xa(o|0,1024,93)}h=xk(e<<2)|0;i=h;c=h+((e+3|0)>>>2<<2)|0;j=c;h=h+(e<<2)|0;if((m|0)==(d|0)){e=j;d=m}else{g=c;e=j;f=m;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(d|0));d=k[a>>2]|0}k[a>>2]=i;k[o>>2]=j;k[n>>2]=e;k[l>>2]=h;if(d){cn(d);c=k[o>>2]|0}}else c=m;while(0);k[c+-4>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+-4;return}function Qf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];tc(a,n,c,d);h=$(d,e)|0;Sg(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)gm(h);return 0}function Rf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];zc(a,n,c,d);h=$(d,e)|0;Ug(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)gm(h);return 0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[268];k[l+4>>2]=k[269];k[l+8>>2]=k[270];k[l+12>>2]=k[271];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=hd(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=wc(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=$c(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=Tc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}kf(c,l,l+(j<<2)|0);l=1;r=m;return l|0}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;i=o+24|0;j=o+16|0;l=o+8|0;n=o;e=a+4|0;p=k[e>>2]|0;m=k[b>>2]|0;d=k[b+4>>2]|0;h=k[c>>2]|0;f=k[c+4>>2]|0;g=h-m<<3;k[e>>2]=p-d+f+g;e=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=e;if((d|0)!=(c|0)){k[i>>2]=m;k[i+4>>2]=d;k[j>>2]=h;k[j+4>>2]=f;k[l>>2]=b;k[l+4>>2]=c;xe(n,i,j,l);r=o;return}c=f-d+g|0;g=m;if((c|0)>0){if(!d){d=0;b=m}else{p=32-d|0;b=(c|0)<(p|0)?c:p;p=-1>>>(p-b|0)&-1<>2]=k[e>>2]&~p|k[g>>2]&p;d=b+d|0;g=g+4|0;c=c-b|0;e=e+(d>>>5<<2)|0;d=d&31;b=g}f=c>>>5;Wj(e|0,b|0,f<<2|0)|0;a=c-(f<<5)|0;c=e+(f<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(f<<2)>>2]&d;d=a}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,4,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=sl(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=M;h=k[e>>2]|0;e=k[e+4>>2]|0;j=sl(g|0,j|0,8,0)|0;g=M;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=sl(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=M;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function Vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;f=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;e=((d-g|0)/12|0)+b|0;if(e>>>0>357913941)hm(a);h=(f-g|0)/12|0;f=h<<1;f=h>>>0<178956970?(f>>>0>>0?e:f):357913941;d=(d-g|0)/12|0;do if(f)if(f>>>0>357913941){j=Ma(4)|0;Om(j);xa(j|0,1024,93)}else{e=xk(f*12|0)|0;break}else e=0;while(0);h=e+(d*12|0)|0;g=e+(f*12|0)|0;d=h;f=h;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=f+12|0;f=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;e=(k[j>>2]|0)-b|0;d=h+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ii(d|0,b|0,e|0)|0;k[a>>2]=d;k[j>>2]=f;k[i>>2]=g;if(!b)return;cn(b);return}function Wf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];lc(a,m,b,d);h=$(d,e)|0;Ze(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)gm(h);return 0}function Xf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];oc(a,m,b,d);h=$(d,e)|0;cf(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)gm(h);return 0}function Yf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+8|0;i=k[n>>2]|0;j=a+12|0;m=k[j>>2]|0;e=m;g=i;do if((i|0)==(m|0)){m=a+4|0;l=k[m>>2]|0;d=k[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;f=l+(e<<2)|0;c=g-d|0;d=c>>2;if(!d)c=l;else{Wj(f|0,l|0,c|0)|0;c=k[m>>2]|0}l=f+(d<<2)|0;k[n>>2]=l;k[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){n=Ma(4)|0;Om(n);xa(n|0,1024,93)}f=xk(c<<2)|0;g=f;e=f+(c>>>2<<2)|0;h=e;f=f+(c<<2)|0;if((l|0)==(i|0))c=h;else{c=h;d=l;do{k[e>>2]=k[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(i|0));d=k[a>>2]|0}k[a>>2]=g;k[m>>2]=h;k[n>>2]=c;k[j>>2]=f;if(d){cn(d);c=k[n>>2]|0}}else c=i;while(0);k[c>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+4;return}function Zf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];tc(a,n,c,d);h=$(d,e)|0;Ug(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)gm(h);return 0}function _f(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Sa[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;Ya[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function $f(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=$m(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)an(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];lc(a,m,b,d);h=$(d,e)|0;cf(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)gm(h);return 0}function ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=sl(d|0,e|0,1,0)|0;e=M;n=j;k[n>>2]=d;k[n+4>>2]=e;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){n=i[(k[c>>2]|0)+d>>0]|0;l=sl(d|0,e|0,1,0)|0;d=j;k[d>>2]=l;k[d+4>>2]=M;d=n}else d=0;n=a+28|0;l=Ra[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)Ta[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(Za[k[(k[a>>2]|0)+20>>2]&127](a,d)|0):0){n=0;return n|0}if(!(Ra[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=Za[k[(k[a>>2]|0)+40>>2]&127](a,m)|0;return n|0}function bg(a){a=a|0;Fm(a+744|0);Fm(a+720|0);Fm(a+696|0);Fm(a+672|0);Fm(a+648|0);Fm(a+624|0);Fm(a+600|0);Fm(a+576|0);Fm(a+552|0);Fm(a+528|0);Fm(a+504|0);Fm(a+480|0);Fm(a+456|0);Fm(a+432|0);Fm(a+408|0);Fm(a+384|0);Fm(a+360|0);Fm(a+336|0);Fm(a+312|0);Fm(a+288|0);Fm(a+264|0);Fm(a+240|0);Fm(a+216|0);Fm(a+192|0);Fm(a+168|0);Fm(a+144|0);Fm(a+120|0);Fm(a+96|0);Fm(a+72|0);Fm(a+48|0);Fm(a+24|0);Fm(a);return}function cg(a){a=a|0;Fm(a);Fm(a+24|0);Fm(a+48|0);Fm(a+72|0);Fm(a+96|0);Fm(a+120|0);Fm(a+144|0);Fm(a+168|0);Fm(a+192|0);Fm(a+216|0);Fm(a+240|0);Fm(a+264|0);Fm(a+288|0);Fm(a+312|0);Fm(a+336|0);Fm(a+360|0);Fm(a+384|0);Fm(a+408|0);Fm(a+432|0);Fm(a+456|0);Fm(a+480|0);Fm(a+504|0);Fm(a+528|0);Fm(a+552|0);Fm(a+576|0);Fm(a+600|0);Fm(a+624|0);Fm(a+648|0);Fm(a+672|0);Fm(a+696|0);Fm(a+720|0);Fm(a+744|0);return}function dg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[(k[f>>2]|0)+64>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)|0;b=(c|0)/12|0;if((c|0)<=0){r=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];gc(f,d);a=a+1|0}while((a|0)<(b|0));r=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){r=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];gc(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);r=g;return 1}return 0}function eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;g=i;k[g>>2]=b;if((b|0)<=-1)Ka(6792,6804,93,6831);h=a+4|0;if(((k[a+8>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))ch(h,b+1|0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){e=a+16+(d*12|0)+4|0;f=k[e>>2]|0;if((f|0)==(k[a+16+(d*12|0)+8>>2]|0)){xh(a+16+(d*12|0)|0,g);break}else{k[f>>2]=b;k[e>>2]=f+4;break}}while(0);h=(k[h>>2]|0)+(k[g>>2]<<2)|0;g=k[c>>2]|0;k[c>>2]=0;f=k[h>>2]|0;k[h>>2]=g;if(!f){r=i;return}a=k[f+68>>2]|0;b=a;if(a|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(a|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);cn(a)}h=f+64|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){d=a+4|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;cn(b)}cn(a)}cn(f);r=i;return}function fg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;h=k[l>>2]|0;e=h;f=c;if((h|0)==(c|0)){g=0;h=a+20|0;b=0}else{h=a+20|0;g=(k[h>>2]|0)+b|0;g=(k[c+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(g|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[h>>2]=0;b=e-f>>2;if(b>>>0>2)do{cn(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{cn(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;cn(b);return}function gg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+4|0;e=g;f=a+8|0;c=a+84|0;b=k[c>>2]|0;if(!b){c=k[f>>2]|0;c=(k[c+4>>2]|0)-(k[c>>2]|0)|0;b=(c|0)/12|0;if((c|0)<=0){r=g;return 1}a=0;do{k[e>>2]=a*3;k[d>>2]=k[e>>2];jc(f,d);a=a+1|0}while((a|0)<(b|0));r=g;return 1}else{a=k[b>>2]|0;if((k[b+4>>2]|0)==(a|0)){r=g;return 1}b=0;do{k[e>>2]=k[a+(b<<2)>>2];k[d>>2]=k[e>>2];jc(f,d);b=b+1|0;h=k[c>>2]|0;a=k[h>>2]|0}while(b>>>0<(k[h+4>>2]|0)-a>>2>>>0);r=g;return 1}return 0}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=xk(52)|0;g=xk(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=5436;k[g+8>>2]=f;k[j>>2]=g;hj(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Mf(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);h=(k[g>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}Ta[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if(b){b=a+8|0;j=b;g=k[j>>2]|0;j=k[j+4>>2]|0;d=a+16|0;f=d;e=k[f>>2]|0;f=sl(e|0,k[f+4>>2]|0,8,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}else{j=(k[a>>2]|0)+e|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;e=c;c=e;i[c>>0]=h;i[c+1>>0]=h>>8;i[c+2>>0]=h>>16;i[c+3>>0]=h>>24;e=e+4|0;i[e>>0]=j;i[e+1>>0]=j>>8;i[e+2>>0]=j>>16;i[e+3>>0]=j>>24;e=d;e=sl(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=M;k[d>>2]=e;k[d+4>>2]=c;d=a;break}}else{c=a+16|0;b=a+8|0;d=a;e=k[c>>2]|0;c=k[c+4>>2]|0}while(0);i[a+36>>0]=1;h=(k[d>>2]|0)+e|0;j=b;j=al(k[j>>2]|0,k[j+4>>2]|0,e|0,c|0)|0;k[a+32>>2]=0;k[a+24>>2]=h;k[a+28>>2]=h+j;j=1;return j|0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];hd(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];wc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];$c(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Tc(b,d,a)|0;r=j;return}default:{r=j;return}}}function kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];hd(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];wc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];$c(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];Tc(b,d,a)|0;r=j;return}default:{r=j;return}}}function lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+16|0;g=l;h=a+4|0;k[h>>2]=0;if(!b){r=l;return}j=a+8|0;d=k[j>>2]|0;if(d<<5>>>0>>0){k[g>>2]=0;e=g+4|0;k[e>>2]=0;f=g+8|0;k[f>>2]=0;if((b|0)<0)hm(a);m=d<<6;n=b+31&-32;Xg(g,d<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);d=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=d;g=k[h>>2]|0;k[h>>2]=b;k[e>>2]=g;h=k[j>>2]|0;k[j>>2]=k[f>>2];k[f>>2]=h;if(d|0)cn(d)}else k[h>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){Vi(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=l;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));r=l;return}else{Vi(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=l;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);r=l;return}}function mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+140>>2]|0;c=b;if(b|0){d=a+144|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}g=a+128|0;b=k[g>>2]|0;if(b|0){h=a+132|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;k[h>>2]=d;e=k[d>>2]|0;f=e;if(!e)c=d;else{c=c+-8|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);cn(e);c=k[h>>2]|0}}while((c|0)!=(b|0));b=k[g>>2]|0}cn(b)}b=k[a+100>>2]|0;c=b;if(b|0){d=a+104|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}h=a+80|0;c=k[h>>2]|0;k[h>>2]=0;if(!c){h=a+64|0;fn(h);a=a+24|0;fn(a);return}d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;fn(b)}while((b|0)!=(c|0))}an(d);h=a+64|0;fn(h);a=a+24|0;fn(a);return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=sl(c|0,k[f+4>>2]|0,4,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=sl(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=M;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=sl(g|0,j|0,8,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=sl(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=M;j=1;return j|0}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;eg(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){f=k[g+68>>2]|0;c=f;if(f|0){d=g+72|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(f)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;cn(d)}cn(c)}cn(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if((g|0)>(b|0)){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){Eg(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;m=s+120|0;o=s+80|0;p=s;q=s+136|0;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[m>>2]=k[c>>2];if((db(0,b,m,p,o)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)n=gn(a)|0;else n=0;c=k[a>>2]|0;l=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;d=a+48|0;if(!(k[d>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=q;g=a+28|0;k[g>>2]=q;h=a+20|0;k[h>>2]=q;k[d>>2]=80;j=a+16|0;k[j>>2]=q+80;c=db(a,b,m,p,o)|0;if(f){Ra[k[a+36>>2]&31](a,0,0)|0;c=(k[h>>2]|0)==0?-1:c;k[e>>2]=f;k[d>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else c=db(a,b,m,p,o)|0;d=k[a>>2]|0;k[a>>2]=d|l;if(n|0)fn(a);c=(d&32|0)==0?c:-1}r=s;return c|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=1048576){if((g|0)!=1048576?(e=h+4194304|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=524288){if((g|0)!=524288?(e=h+2097152|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,524288-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>524288){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==524288;return j|0}function sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=262144){if((g|0)!=262144?(e=h+1048576|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,262144-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>262144){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==262144;return j|0}function tg(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;o=q;n=k[a>>2]|0;p=a+(k[n+-8>>2]|0)|0;n=k[n+-4>>2]|0;k[o>>2]=c;k[o+4>>2]=a;k[o+8>>2]=b;k[o+12>>2]=d;a=o+16|0;b=o+20|0;d=o+24|0;e=o+28|0;f=o+32|0;g=o+40|0;h=(n|0)==(c|0);l=a;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[a+36>>1]=0;i[a+38>>0]=0;a:do if(h){k[o+48>>2]=1;Ya[k[(k[c>>2]|0)+20>>2]&3](c,o,p,p,1,0);a=(k[d>>2]|0)==1?p:0}else{Sa[k[(k[n>>2]|0)+24>>2]&3](n,o,p,1,0);switch(k[o+36>>2]|0){case 0:{a=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[b>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[d>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){a=0;break}a=k[a>>2]|0}while(0);r=q;return a|0}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=65536){if((g|0)!=65536?(e=h+262144|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,65536-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>65536){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==65536;return j|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=32768){if((g|0)!=32768?(e=h+131072|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,32768-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>32768){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==32768;return j|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;e=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(e-c>>3>>>0>=b>>>0){do{h=c;k[h>>2]=0;k[h+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;d=(c-f>>3)+b|0;if(d>>>0>536870911)hm(a);g=e-f|0;e=g>>2;e=g>>3>>>0<268435455?(e>>>0>>0?d:e):536870911;c=c-f>>3;do if(e)if(e>>>0>536870911){i=Ma(4)|0;Om(i);xa(i|0,1024,93)}else{d=xk(e<<3)|0;break}else d=0;while(0);g=d+(c<<3)|0;f=d+(e<<3)|0;c=g;e=g;do{d=c;k[d>>2]=0;k[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[i>>2]|0)-b|0;c=g+(0-(d>>3)<<3)|0;if((d|0)>0)Ii(c|0,b|0,d|0)|0;k[a>>2]=c;k[i>>2]=e;k[h>>2]=f;if(!b)return;cn(b);return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[l>>2]|0;m=k[a>>2]|0;c=((d-m|0)/12|0)+1|0;if(c>>>0>357913941)hm(a);i=m;g=d;j=a+8|0;h=((k[j>>2]|0)-m|0)/12|0;e=h<<1;e=h>>>0<178956970?(e>>>0>>0?c:e):357913941;d=(d-m|0)/12|0;do if(e)if(e>>>0>357913941){m=Ma(4)|0;Om(m);xa(m|0,1024,93)}else{f=xk(e*12|0)|0;break}else f=0;while(0);c=f+(d*12|0)|0;h=f+(e*12|0)|0;k[c>>2]=k[b>>2];k[f+(d*12|0)+4>>2]=k[b+4>>2];k[f+(d*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((g|0)!=(i|0)){d=g;do{g=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[g+-8>>2];k[c+-4>>2]=k[g+-4>>2];c=c+-12|0}while((d|0)!=(i|0))}k[a>>2]=c;k[l>>2]=e;k[j>>2]=h;if(!m)return;cn(m);return}function yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=8192){if((g|0)!=8192?(e=h+32768|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,8192-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>8192){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==8192;return j|0}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=4096){if((g|0)!=4096?(e=h+16384|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jh(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else wg(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;h=k[l>>2]|0;f=h;if(e-h>>2>>>0>=b>>>0){d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[l>>2]=f+(b<<2);return}i=k[a>>2]|0;d=(h-i>>2)+b|0;if(d>>>0>1073741823)hm(a);g=e-i|0;e=g>>1;e=g>>2>>>0<536870911?(e>>>0>>0?d:e):1073741823;d=h-i>>2;do if(e)if(e>>>0>1073741823){l=Ma(4)|0;Om(l);xa(l|0,1024,93)}else{f=xk(e<<2)|0;break}else f=0;while(0);g=f+(d<<2)|0;f=f+(e<<2)|0;d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}d=h-i|0;e=g+(0-(d>>2)<<2)|0;if((d|0)>0)Ii(e|0,i|0,d|0)|0;k[a>>2]=e;k[l>>2]=g+(b<<2);k[j>>2]=f;if(!i)return;cn(i);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Dd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Dd(a,b);return}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[c+4>>2]|0;if((b|0)<=-1)Ka(13387,13403,54,13431);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(b|0))Ka(13441,13403,55,13431);e=k[e+(b<<2)>>2]|0;if((Va[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=ff(c,a,b,d,Nm(j[c+24>>1]|0)|0)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}g=xk(44)|0;k[g>>2]=3456;k[g+4>>2]=e;k[g+8>>2]=k[d>>2];c=g+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];li(g+32|0,d+24|0);k[g>>2]=3520;d=g;return d|0}function Dg(a){a=a|0;Lm(a);Lm(a+16|0);Lm(a+32|0);Lm(a+48|0);Lm(a+64|0);Lm(a+80|0);Lm(a+96|0);Lm(a+112|0);Lm(a+128|0);Lm(a+144|0);Lm(a+160|0);Lm(a+176|0);Lm(a+192|0);Lm(a+208|0);Lm(a+224|0);Lm(a+240|0);Lm(a+256|0);Lm(a+272|0);Lm(a+288|0);Lm(a+304|0);Lm(a+320|0);Lm(a+336|0);Lm(a+352|0);Lm(a+368|0);Lm(a+384|0);Lm(a+400|0);Lm(a+416|0);Lm(a+432|0);Lm(a+448|0);Lm(a+464|0);Lm(a+480|0);Lm(a+496|0);return}function Eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;g=k[j>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=b;d=e;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[j>>2]=e+(b<<2);return}h=k[a>>2]|0;c=(g-h>>2)+b|0;if(c>>>0>1073741823)hm(a);f=d-h|0;d=f>>1;d=f>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;c=g-h>>2;do if(d)if(d>>>0>1073741823){j=Ma(4)|0;Om(j);xa(j|0,1024,93)}else{e=xk(d<<2)|0;break}else e=0;while(0);f=e+(c<<2)|0;e=e+(d<<2)|0;c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}c=g-h|0;d=f+(0-(c>>2)<<2)|0;if((c|0)>0)Ii(d|0,h|0,c|0)|0;k[a>>2]=d;k[j>>2]=f+(b<<2);k[i>>2]=e;if(!h)return;cn(h);return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;if(!(Vd(a,b)|0)){j=0;r=m;return j|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=sl(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0){j=0;r=m;return j|0}h=(k[b>>2]|0)+d|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;d=c;k[d>>2]=e;k[d+4>>2]=f;d=a+96|0;c=(k[d>>2]|0)+h|0;k[d>>2]=c;d=a+100|0;k[i>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Ag(d,c-f|0,i);j=Ye(a+112|0,b)|0;r=m;return j|0}function Gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Pc(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pc(a,b);return}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){ed(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ed(a,b);return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Nd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nd(a,b);return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Qc(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qc(a,b);return}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){fd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;fd(a,b);return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){rd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Rc(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rc(a,b);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){gd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;gd(a,b);return}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Od(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Od(a,b);return}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Fe(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;a=k[e+-12>>2]|0;b=a;if(a|0){c=e+-8|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(a)}a=k[e+-28>>2]|0;b=a;if(a|0){c=e+-24|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(a)}a=k[e+-40>>2]|0;b=a;if(a|0){c=e+-36|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(a)}Sh(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;i=n+16|0;j=n+8|0;l=n;m=k[b>>2]|0;h=k[a+8>>2]<<1;if((m|0)>(h|0))Ka(8745,8780,111,8886);f=k[b+4>>2]|0;if((f|0)>(h|0))Ka(8907,8780,112,8886);g=k[c+(e<<2)>>2]|0;if((g|0)>(h|0))Ka(8942,8780,113,8886);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(h|0))Ka(8982,8780,114,8886);if((m|0)<=-1)Ka(9026,8780,116,8886);if((f|0)<=-1)Ka(9048,8780,117,8886);if((g|0)<=-1)Ka(9070,8780,118,8886);if((b|0)>-1){k[j>>2]=m;k[j+4>>2]=f;k[l>>2]=g;k[l+4>>2]=b;pd(i,a,j,l);k[d>>2]=k[i>>2];k[d+4>>2]=k[i+4>>2];r=n;return}else Ka(9097,8780,119,8886)}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;m=p;n=a+8|0;j=i[(k[n>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;l=a+20|0;e=da(da((1<>2])+-1|0)+da(-1.0));a=0;c=0;d=0;while(1){f=d|1;g=k[l>>2]|0;h=k[o>>2]|0;if(g-h>>2>>>0<=d>>>0){a=6;break}if(g-h>>2>>>0<=f>>>0){a=8;break}If(da(da(k[h+(d<<2)>>2]|0)/e),da(da(k[h+(f<<2)>>2]|0)/e),m);Ii((k[k[(k[n>>2]|0)+64>>2]>>2]|0)+a|0,m|0,j|0)|0;c=c+1|0;if((c|0)==(b|0)){a=3;break}else{a=a+j|0;d=d+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)gm(o);else if((a|0)==8)gm(o);return 0}function Ug(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;i=n+16|0;j=n+8|0;l=n;m=k[b>>2]|0;h=k[a+8>>2]<<1;if((m|0)>(h|0))Ka(8745,11377,107,8886);f=k[b+4>>2]|0;if((f|0)>(h|0))Ka(8907,11377,108,8886);g=k[c+(e<<2)>>2]|0;if((g|0)>(h|0))Ka(8942,11377,109,8886);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(h|0))Ka(8982,11377,110,8886);if((m|0)<=-1)Ka(9026,11377,112,8886);if((f|0)<=-1)Ka(9048,11377,113,8886);if((g|0)<=-1)Ka(9070,11377,114,8886);if((b|0)>-1){k[i>>2]=g;k[i+4>>2]=b;k[l>>2]=m;k[l+4>>2]=f;Be(j,a,l,i);k[d>>2]=k[j>>2];k[d+4>>2]=k[j+4>>2];r=n;return}else Ka(9097,11377,115,8886)}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=Pa;if((b|0)!=1){if(b+-1&b)b=eb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=da((k[a+12>>2]|0)>>>0);c=~~da(_(da(e/da(o[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=eb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=$(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;c=i+8|0;d=i;g=a+8|0;if(k[g>>2]<<5>>>0>=b>>>0){r=i;return}k[f>>2]=0;h=f+4|0;k[h>>2]=0;e=f+8|0;k[e>>2]=0;if((b|0)<0)hm(f);l=((b+-1|0)>>>5)+1|0;j=xk(l<<2)|0;k[f>>2]=j;k[h>>2]=0;k[e>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;j=a+4|0;b=k[j>>2]|0;k[d>>2]=l+(b>>>5<<2);k[d+4>>2]=b&31;Tf(f,c,d);b=k[a>>2]|0;k[a>>2]=k[f>>2];k[f>>2]=b;f=k[j>>2]|0;k[j>>2]=k[h>>2];k[h>>2]=f;h=k[g>>2]|0;k[g>>2]=k[e>>2];k[e>>2]=h;if(b|0)cn(b);r=i;return}function Yg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;i=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=i>>2;j=a+8|0;d=k[(k[j>>2]|0)+40>>2]|0;m=$m((d|0)>-1?d:-1)|0;e=c+8|0;if((i|0)<=0){c=1;an(m);return c|0}f=c+16|0;b=0;a=0;while(1){o=e;n=k[o>>2]|0;o=k[o+4>>2]|0;h=f;g=k[h>>2]|0;h=sl(g|0,k[h+4>>2]|0,d|0,0)|0;i=M;if((o|0)<(i|0)|(o|0)==(i|0)&n>>>0>>0){b=0;a=5;break}Ii(m|0,(k[c>>2]|0)+g|0,d|0)|0;o=f;k[o>>2]=h;k[o+4>>2]=i;Ii((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+b|0,m|0,d|0)|0;a=a+1|0;if((a|0)>=(l|0)){b=1;a=5;break}else b=b+d|0}if((a|0)==5){an(m);return b|0}return 0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;Wa[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}a=k[e+68>>2]|0;b=a;if(a|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(a)}i=e+64|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;cn(b)}cn(a)}cn(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function _g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[c+4>>2]|0;if((b|0)<=-1)Ka(13387,13403,54,13431);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(b|0))Ka(13441,13403,55,13431);e=k[e+(b<<2)>>2]|0;if((Va[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=xc(c,a,b,d,Nm(j[c+24>>1]|0)|0)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}g=xk(20)|0;k[g+4>>2]=e;c=g+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[g>>2]=4208;d=g;return d|0}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;i[e>>0]=a&127;if(a>>>0>127){i[e>>0]=a|128;g=b+16|0;h=k[g+4>>2]|0;if(!((h|0)>0|(h|0)==0&(k[g>>2]|0)>>>0>0)){k[d>>2]=k[b+4>>2];k[c>>2]=k[d>>2];Ke(b,c,e,e+1|0)|0}$g(a>>>7,b);r=f;return}else{h=b+16|0;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[d>>2]=k[b+4>>2];k[c>>2]=k[d>>2];Ke(b,c,e,e+1|0)|0}r=f;return}}function ah(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[c+4>>2]|0;if((b|0)<=-1)Ka(13387,13403,54,13431);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(b|0))Ka(13441,13403,55,13431);e=k[e+(b<<2)>>2]|0;if((Va[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=yc(c,a,b,d,Nm(j[c+24>>1]|0)|0)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}g=xk(20)|0;k[g+4>>2]=e;c=g+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[g>>2]=4784;d=g;return d|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((Va[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}f=a+4|0;a=0;while(1){c=k[(k[f>>2]|0)+4>>2]|0;c=Sj(c,Za[k[(k[b>>2]|0)+24>>2]&127](b,a)|0)|0;if((c|0)==-1){a=0;c=10;break}d=k[(k[f>>2]|0)+4>>2]|0;if((c|0)<=-1){c=6;break}e=k[d+4>>2]|0;if(((k[d+8>>2]|0)-e>>2|0)<=(c|0)){c=8;break}a=a+1|0;if(!(Za[k[(k[b>>2]|0)+28>>2]&127](b,k[e+(c<<2)>>2]|0)|0)){a=0;c=10;break}if((a|0)>=(Va[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Ka(13387,13403,62,13431);else if((c|0)==8)Ka(13441,13403,63,13431);else if((c|0)==10)return a|0;return 0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){jf(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{d=c+-4|0;k[g>>2]=d;e=k[d>>2]|0;k[d>>2]=0;if(e|0){c=k[e+68>>2]|0;a=c;if(c|0){b=e+72|0;d=k[b>>2]|0;if((d|0)!=(c|0))k[b>>2]=d+(~((d+-4-a|0)>>>2)<<2);cn(c)}d=e+64|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){a=k[c>>2]|0;if(a|0){b=c+4|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;cn(a)}cn(c)}cn(e)}c=k[g>>2]|0}while((c|0)!=(f|0));return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;e=k[h>>2]|0;i=k[a>>2]|0;c=((e-i|0)/12|0)+1|0;if(c>>>0>357913941)hm(a);j=a+8|0;g=((k[j>>2]|0)-i|0)/12|0;f=g<<1;f=g>>>0<178956970?(f>>>0>>0?c:f):357913941;c=(e-i|0)/12|0;do if(f)if(f>>>0>357913941){j=Ma(4)|0;Om(j);xa(j|0,1024,93)}else{g=xk(f*12|0)|0;break}else g=0;while(0);d=g+(c*12|0)|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];c=e-i|0;b=d+(((c|0)/-12|0)*12|0)|0;if((c|0)>0)Ii(b|0,i|0,c|0)|0;k[a>>2]=b;k[h>>2]=d+12;k[j>>2]=g+(f*12|0);if(!i)return;cn(i);return}function eh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}Sh(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;cn(b);return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);cn(d)}Sh(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}cn(b);return}function gh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;switch(c|0){case 2:{f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=ah(b,f,c,d)|0;r=e;return d|0}case 3:{c=k[a+12>>2]|0;f=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;f=_g(b,c,f,d)|0;r=e;return f|0}default:{f=0;r=e;return f|0}}return 0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+4|0;g=h;c=a+12|0;d=b+16|0;f=d;i=k[f+4>>2]|0;if((i|0)>0|(i|0)==0&(k[f>>2]|0)>>>0>0){r=h;return 1}f=b+4|0;k[g>>2]=k[f>>2];k[e>>2]=k[g>>2];Ke(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;a=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[g>>2]=k[f>>2];k[e>>2]=k[g>>2];Ke(b,e,a,a+4|0)|0;r=h;return 1}function ih(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=5864;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));rk(b);rk(a+280|0);d=a+320|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+28>>2]=0;k[a+352>>2]=-1;k[a+356>>2]=-1;k[a+360>>2]=2;k[a+364>>2]=7;d=a+368|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;return}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;h=k[l>>2]|0;if(d-h>>2>>>0>=b>>>0){Vi(h|0,0,b<<2|0)|0;k[l>>2]=h+(b<<2);return}i=k[a>>2]|0;c=(h-i>>2)+b|0;if(c>>>0>1073741823)hm(a);g=d-i|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;c=h-i>>2;do if(f)if(f>>>0>1073741823){l=Ma(4)|0;Om(l);xa(l|0,1024,93)}else{g=xk(f<<2)|0;break}else g=0;while(0);e=g+(c<<2)|0;Vi(e|0,0,b<<2|0)|0;c=h-i|0;d=e+(0-(c>>2)<<2)|0;if((c|0)>0)Ii(d|0,i|0,c|0)|0;k[a>>2]=d;k[l>>2]=e+(b<<2);k[j>>2]=g+(f<<2);if(!i)return;cn(i);return}function kh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=3164;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;vh(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);a=a+4|0;vh(a);return}function lh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=5360;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);e=k[a+36>>2]|0;b=e;if(e|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(e)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}cn(b)}k[a>>2]=3236;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);cn(d);return}function mh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g;b=g+40|0;c=f;d=a;e=c+40|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));a:do if(ze(f,b)|0?(i[b+7>>0]|0)==1:0){switch(i[b+8>>0]|0){case 0:{d=xk(32)|0;jm(d);break}case 1:{d=xk(36)|0;Gl(d);break}default:{b=0;break a}}e=xk(92)|0;qk(e);b=Ek(d,a,e)|0;c=b?0:e;if(!b)Ta[k[(k[c>>2]|0)+4>>2]&127](c);Ta[k[(k[d>>2]|0)+4>>2]&127](d);b=b?e:0}else b=0;while(0);fn(f+24|0);r=g;return b|0}function nh(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+92>>2]|0;c=b;if(b|0){d=a+96|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}k[a+4>>2]=5772;b=k[a+24>>2]|0;if(b|0)cn(b);b=k[a+12>>2]|0;if(!b)return;cn(b);return}function oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+8|0;e=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((e-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;d=c-f+b|0;if((d|0)<0)hm(a);e=e-f|0;g=e<<1;d=e>>>0<1073741823?(g>>>0>>0?d:g):2147483647;if(!d)e=0;else e=xk(d)|0;g=e+(c-f)|0;f=e+d|0;e=g;c=g;do{i[c>>0]=0;c=e+1|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[j>>2]|0)-b|0;c=g+(0-d)|0;if((d|0)>0)Ii(c|0,b|0,d|0)|0;k[a>>2]=c;k[j>>2]=e;k[h>>2]=f;if(!b)return;cn(b);return}function ph(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=sk()|0;if(a|0?(d=k[a>>2]|0,d|0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[1607];Vk(17945,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(Ra[k[(k[240]|0)+16>>2]&31](960,d,e)|0){h=k[e>>2]|0;e=k[1607]|0;h=Va[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;Vk(17859,f)}else{k[h>>2]=k[1607];k[h+4>>2]=a;Vk(17904,h)}}Vk(17983,g)}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(mj(c)|0)){d=k[d>>2]|0;f=5}else d=0;else{d=e;f=5}a:do if((f|0)==5){g=c+20|0;f=k[g>>2]|0;e=f;if((d-f|0)>>>0>>0){d=Ra[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){f=b;d=0;break b}f=d+-1|0;if((i[a+f>>0]|0)==10)break;else d=f}if((Ra[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;f=b-d|0;a=a+d|0;e=k[g>>2]|0}else{f=b;d=0}while(0);Ii(e|0,a|0,f|0)|0;k[g>>2]=(k[g>>2]|0)+f;d=d+f|0}while(0);return d|0}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=xk(24)|0;bm(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;d=k[h>>2]|0;e=a-d>>2;do if((e|0)<=(b|0)){c=b+1|0;if(c>>>0>e>>>0){Mf(h,c-e|0);break}if(c>>>0>>0?(g=d+(c<<2)|0,(a|0)!=(g|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);h=(k[h>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(!a)return 1;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;g=i;if((((k[h>>2]|0)-i|0)/12|0)>>>0>=b>>>0)return;j=a+4|0;d=k[j>>2]|0;c=(d-i|0)/12|0;do if(b)if(b>>>0>357913941){j=Ma(4)|0;Om(j);xa(j|0,1024,93)}else{e=xk(b*12|0)|0;break}else e=0;while(0);c=e+(c*12|0)|0;f=c;b=e+(b*12|0)|0;if((d|0)==(g|0))c=f;else do{e=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[e+-8>>2];k[c+-4>>2]=k[e+-4>>2];c=c+-12|0}while((d|0)!=(g|0));k[a>>2]=c;k[j>>2]=f;k[h>>2]=b;if(!i)return;cn(i);return}function th(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;cn(c)}cn(b)}cn(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;cn(b);return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;c=d;if(!b){c=0;r=d;return c|0}g=b+4|0;e=(((k[g>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;lg(a,e,c);e=b+24|0;f=b+28|0;h=(k[f>>2]|0)-(k[e>>2]|0)>>2;i[c>>0]=0;lg(a+12|0,h,c);Cf(a+28|0,(((k[g>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,3224);Xh(a+52|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);Xh(a+40|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;c=1;r=d;return c|0}function vh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);cn(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;cn(d)}cn(c)}cn(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}cn(b);return}function wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[a+20>>2]=b;k[a+4>>2]=c;if(!(ze(b,d)|0)){d=0;r=e;return d|0}c=l[d+7>>0]|0;if((c|0)!=(Va[k[(k[a>>2]|0)+8>>2]&127](a)|0)){d=0;r=e;return d|0}c=i[d+5>>0]|0;i[a+24>>0]=c;d=i[d+6>>0]|0;i[a+25>>0]=d;if(c<<24>>24!=1|(d&255)>2){d=0;r=e;return d|0}if(!(Va[k[(k[a>>2]|0)+12>>2]&127](a)|0)){d=0;r=e;return d|0}if(!(Va[k[(k[a>>2]|0)+20>>2]&127](a)|0)){d=0;r=e;return d|0}d=Va[k[(k[a>>2]|0)+24>>2]&127](a)|0;r=e;return d|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;e=k[h>>2]|0;i=k[a>>2]|0;c=(e-i>>2)+1|0;if(c>>>0>1073741823)hm(a);j=a+8|0;g=(k[j>>2]|0)-i|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;c=e-i>>2;do if(f)if(f>>>0>1073741823){j=Ma(4)|0;Om(j);xa(j|0,1024,93)}else{g=xk(f<<2)|0;break}else g=0;while(0);d=g+(c<<2)|0;k[d>>2]=k[b>>2];c=e-i|0;b=d+(0-(c>>2)<<2)|0;if((c|0)>0)Ii(b|0,i|0,c|0)|0;k[a>>2]=b;k[h>>2]=d+4;k[j>>2]=g+(f<<2);if(!i)return;cn(i);return}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;h=k[i>>2]|0;d=a+8|0;a=k[d>>2]|0;e=h+4|0;c=k[e>>2]|0;b=k[h>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(g=b+(a<<2)|0,(c|0)!=(g|0)):0)k[e>>2]=c+(~((c+-4-g|0)>>>2)<<2)}else{jh(h,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)gm(d);return 0}function zh(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,j=0;if((a|0)<0){d=0;return d|0}if(!a){d=1;return d|0}h=c+8|0;j=k[h+4>>2]|0;e=c+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((j|0)>(g|0)|((j|0)==(g|0)?(k[h>>2]|0)>>>0>f>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+f>>0]|0;g=sl(f|0,g|0,1,0)|0;h=e;k[h>>2]=g;k[h+4>>2]=M;switch(j<<24>>24){case 0:{j=qc(a,b,c,d)|0;return j|0}case 1:{j=Zd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;e=k[c+4>>2]|0;c=(k[c+8>>2]|0)-e|0;if((c|0)>0){d=c>>2;c=0;do{if((k[e+(c<<2)>>2]|0)==(b|0))break a;c=c+1|0}while((c|0)<(d|0))}a=a+1|0;if(a>>>0>=f>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;b=e;b=sl(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[e>>2]=b;k[e+4>>2]=M;e=a+28|0;b=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;b=c;k[b>>2]=e;k[b+4>>2]=M;b=a+28|0;e=b;b=k[b>>2]|0}d=b+1|0;k[e>>2]=d;if((d|0)!=32)return;b=a+24|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(k[a+20>>2]|0))xh(a+12|0,b);else{k[d>>2]=k[b>>2];k[c>>2]=d+4}k[e>>2]=0;k[b>>2]=0;return}function Ch(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){f=0;r=g;return f|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Cg(b,e,c,f)|0;d=k[f+24>>2]|0;e=d;if(d|0){c=f+28|0;a=k[c>>2]|0;if((a|0)!=(d|0))k[c>>2]=a+(~((a+-4-e|0)>>>2)<<2);cn(d)}f=b;r=g;return f|0}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;g=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;f=k[d+4>>2]|0;d=(k[d+8>>2]|0)-f|0;if((d|0)>0){e=d>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break b;d=d+1|0}while((d|0)<(e|0))}c=c+1|0;if(c>>>0>=g>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Eh(a){a=a|0;fn(a+496|0);fn(a+480|0);fn(a+464|0);fn(a+448|0);fn(a+432|0);fn(a+416|0);fn(a+400|0);fn(a+384|0);fn(a+368|0);fn(a+352|0);fn(a+336|0);fn(a+320|0);fn(a+304|0);fn(a+288|0);fn(a+272|0);fn(a+256|0);fn(a+240|0);fn(a+224|0);fn(a+208|0);fn(a+192|0);fn(a+176|0);fn(a+160|0);fn(a+144|0);fn(a+128|0);fn(a+112|0);fn(a+96|0);fn(a+80|0);fn(a+64|0);fn(a+48|0);fn(a+32|0);fn(a+16|0);fn(a);return}function Fh(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);cn(d);return}function Gh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;a=b+16|0;d=k[a>>2]|0;if(!d){k[a>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((d|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}d=b+24|0;a=k[d>>2]|0;if((a|0)==2){k[d>>2]=e;a=e}if((a|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;wf(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;a=(d-c|0)/12|0;c=0;do{d=e+(c*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(c*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(c*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];c=c+1|0}while((c|0)<(a|0));return}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((d|0)<0){c=0;return c|0}do if(!b){b=a+4|0;d=k[b>>2]|0;e=k[a>>2]|0;f=d-e|0;if(c>>>0>f>>>0){oh(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(d|0)!=(g|0)):0)k[b>>2]=g}else Hf(a,b,b+c|0);while(0);c=a+24|0;g=c;g=sl(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[c>>2]=g;k[c+4>>2]=M;c=1;return c|0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=a+64|0;if((k[f>>2]|0)==0?(e=xk(32)|0,Dk(e),d=k[f>>2]|0,k[f>>2]=e,d|0):0){e=k[d>>2]|0;if(e|0){c=d+4|0;if((k[c>>2]|0)!=(e|0))k[c>>2]=e;cn(e)}cn(d)}c=Kj(k[a+28>>2]|0)|0;c=$(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=uk(c|0,d|0,b|0,0)|0;if(!(Ih(g,0,e,M)|0)){g=0;return g|0}Fi(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function Kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){g=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;g=(k[d+(g<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:g;return g|0}f=a+836|0;g=k[f>>2]|0;c=32-g|0;d=a+832|0;e=k[d>>2]|0;b=k[e>>2]<>2]=g;f=e+4|0;k[d>>2]=f;g=32-g|0;g=(k[f>>2]|0)>>>g|b>>>(g-c|0);return g|0}b=b>>>28;g=g+4|0;k[f>>2]=g;if((g|0)!=32){g=b;return g|0}k[d>>2]=e+4;k[f>>2]=0;g=b;return g|0}function Lh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){g=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;g=(k[d+(g<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:g;return g|0}f=a+572|0;g=k[f>>2]|0;c=32-g|0;d=a+568|0;e=k[d>>2]|0;b=k[e>>2]<>2]=g;f=e+4|0;k[d>>2]=f;g=32-g|0;g=(k[f>>2]|0)>>>g|b>>>(g-c|0);return g|0}b=b>>>28;g=g+4|0;k[f>>2]=g;if((g|0)!=32){g=b;return g|0}k[d>>2]=e+4;k[f>>2]=0;g=b;return g|0}function Mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[g>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+e>>0]|0;f=sl(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;k[a+32>>2]=h&255;h=od(a,b,c)|0;return h|0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;nf(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);cn(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);cn(d);r=f;return}function Ph(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a+8|0;k[g>>2]=e;f=e>>>0>1073741823?-1:e<<2;h=$m(f)|0;Vi(h|0,0,f|0)|0;Sg(g,h,b,c,0);if((e|0)>=(d|0)){an(h);return 1}f=0-e|0;a=e;do{i=c+(a<<2)|0;Sg(g,i+(f<<2)|0,b,i,a);a=a+e|0}while((a|0)<(d|0));an(h);return 1}function Qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Ka(13932,6532,53,13984);if((b|0)<=0)Ka(14013,6532,54,13984);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;j=$(d>>>8,f)|0;i=m>>>0>>0;d=i?j+m|0:d-f-j|0;k[g>>2]=d;e=i&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function Rh(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=ul()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Sh(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}b=k[a+12>>2]|0;if(b|0)cn(b);b=k[a>>2]|0;if(!b)return;cn(b);return}function Th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;e=g;if((a|0)!=(b|0))if((b|0)!=0?(f=tg(b,984,968,0)|0,(f|0)!=0):0){b=e+4|0;d=b+52|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[e>>2]=f;k[e+8>>2]=a;k[e+12>>2]=-1;k[e+48>>2]=1;_a[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Uh(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0;k[a>>2]=c;if(c|0){o=c+16|0;m=k[o+4>>2]|0;n=a+8|0;k[n>>2]=k[o>>2];k[n+4>>2]=m;n=c+24|0;m=k[n+4>>2]|0;c=a+16|0;k[c>>2]=k[n>>2];k[c+4>>2]=m}i[a+24>>0]=d;k[a+28>>2]=e;i[a+32>>0]=f&1;o=a+40|0;k[o>>2]=g;k[o+4>>2]=h;o=a+48|0;k[o>>2]=j;k[o+4>>2]=l;k[a+56>>2]=b;return}function Vh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a+8|0;k[g>>2]=e;f=e>>>0>1073741823?-1:e<<2;h=$m(f)|0;Vi(h|0,0,f|0)|0;Ug(g,h,b,c,0);if((e|0)>=(d|0)){an(h);return 1}f=0-e|0;a=e;do{i=c+(a<<2)|0;Ug(g,i+(f<<2)|0,b,i,a);a=a+e|0}while((a|0)<(d|0));an(h);return 1}function Wh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;a=d-e|0;if((a|0)>0){f=0-e|0;do{d=b+(a<<2)|0;Ze(g,d,d+(f<<2)|0,c,a);a=a-e|0}while((a|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=$m(d)|0;Vi(e|0,0,d|0)|0;Ze(g,b,e,c,0);an(e);return 1}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+8|0;h=k[a>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=b>>>0)return;i=a+4|0;d=k[i>>2]|0;c=d-h>>2;do if(b)if(b>>>0>1073741823){i=Ma(4)|0;Om(i);xa(i|0,1024,93)}else{f=xk(b<<2)|0;break}else f=0;while(0);e=f+(c<<2)|0;c=d-h|0;d=e+(0-(c>>2)<<2)|0;if((c|0)>0)Ii(d|0,h|0,c|0)|0;k[a>>2]=d;k[i>>2]=e;k[g>>2]=f+(b<<2);if(!h)return;cn(h);return}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0,h=0;c=a+16|0;f=+p[c>>3];if(!(f<=1.0))Ka(6649,6662,25,6703);if(!(f>=0.0))Ka(6721,6662,26,6703);d=~~(f*256.0+.5)>>>0;d=d-((d|0)==256&1)|0;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){h=a+4|0;g=(k[h>>2]|0)+-1|0;k[h>>2]=g;b=l[(k[a>>2]|0)+g>>0]|0|b<<8;k[e>>2]=b}a=b&255;d=0-(d+((d|0)==0&1))&255;g=$(b>>>8,d)|0;h=a>>>0>>0;k[e>>2]=h?g+a|0:b-d-g|0;p[c>>3]=f*.9921875+ +(h&1^1|0)*.0078125;return h|0}function Zh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=5652;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));rk(b);rk(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function _h(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;a=d-e|0;if((a|0)>0){f=0-e|0;do{d=b+(a<<2)|0;cf(g,d,d+(f<<2)|0,c,a);a=a-e|0}while((a|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=$m(d)|0;Vi(e|0,0,d|0)|0;cf(g,b,e,c,0);an(e);return 1}function $h(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=5592;e=a+32|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=3264;e=a+8|0;b=k[e>>2]|0;if(!b){cn(a);return}d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[d>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}cn(b);cn(a);return}function ai(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Vi(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){c=c-d|0;do{if(f){qh(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=c&255;else break}else if(!f)break;qh(g,e,a)|0}while(0);r=h;return}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;g=j;h=b&255;i[g>>0]=h;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(mj(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){f=a+20|0;d=k[f>>2]|0;if(d>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[f>>2]=d+1;i[d>>0]=h;break}if((Ra[k[a+36>>2]&31](a,g,1)|0)==1)c=l[g>>0]|0;else c=-1}while(0);r=j;return c|0}function ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=b+8|0;g=k[f+4>>2]|0;e=b+16|0;d=e;c=k[d>>2]|0;d=k[d+4>>2]|0;if((g|0)>(d|0)|((g|0)==(d|0)?(k[f>>2]|0)>>>0>c>>>0:0)){g=i[(k[b>>2]|0)+c>>0]|0;f=sl(c|0,d|0,1,0)|0;c=e;k[c>>2]=f;k[c+4>>2]=M;c=g}else c=0;c=c&255;if(!(c&128)){g=c;k[a>>2]=g;return}ci(a,b);g=k[a>>2]<<7;k[a>>2]=g;g=g|c&127;k[a>>2]=g;return}function di(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5592;d=a+32|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=3264;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}cn(b);return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(gn(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|0)?(e=b+20|0,f=k[e>>2]|0,f>>>0<(k[b+16>>2]|0)>>>0):0){k[e>>2]=f+1;i[f>>0]=a;a=a&255}else a=bi(b,a)|0;fn(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(c=b+20|0,d=k[c>>2]|0,d>>>0<(k[b+16>>2]|0)>>>0):0){k[c>>2]=d+1;i[d>>0]=a;a=a&255;break}a=bi(b,a)|0}while(0);return a|0}function fi(a){a=a|0;switch(a<<24>>24){case 0:{a=xk(28)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;Bk(a);k[a>>2]=5392;return a|0}case 1:{a=xk(28)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;Bk(a);k[a>>2]=5460;return a|0}default:{a=0;return a|0}}return 0}function gi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3968;b=k[a+96>>2]|0;if(b|0)cn(b);b=k[a+84>>2]|0;if(b|0)cn(b);b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);k[a>>2]=3456;b=k[a+32>>2]|0;if(!b){cn(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);cn(a);return}function hi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3712;b=k[a+96>>2]|0;if(b|0)cn(b);b=k[a+84>>2]|0;if(b|0)cn(b);b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);k[a>>2]=3456;b=k[a+32>>2]|0;if(!b){cn(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);cn(a);return}function ii(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=5816;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=da(1.0);b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));cj(b);return}function ji(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+20>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=sl(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function ki(a){a=a|0;var b=0,c=0;k[a>>2]=3968;b=k[a+96>>2]|0;if(b|0)cn(b);b=k[a+84>>2]|0;if(b|0)cn(b);b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);k[a>>2]=3456;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)hm(a);e=xk(c)|0;k[g>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(d<<2);a=k[b>>2]|0;c=(k[f>>2]|0)-a|0;if((c|0)<=0)return;Ii(e|0,a|0,c|0)|0;k[g>>2]=e+(c>>2<<2);return}function mi(a){a=a|0;var b=0,c=0;k[a>>2]=3712;b=k[a+96>>2]|0;if(b|0)cn(b);b=k[a+84>>2]|0;if(b|0)cn(b);b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);k[a>>2]=3456;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function ni(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5700;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}k[a+12>>2]=5724;b=k[a+32>>2]|0;if(b|0)cn(b);b=k[a+20>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function oi(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(sj(a,a)|0)){a=0;b=5;break}a=k[d>>2]|0;if((b|0)>=((k[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function pi(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5792;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}k[a+12>>2]=5772;b=k[a+32>>2]|0;if(b|0)cn(b);b=k[a+20>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function qi(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5700;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}k[a+12>>2]=5724;b=k[a+32>>2]|0;if(b|0)cn(b);b=k[a+20>>2]|0;if(!b)return;cn(b);return}function ri(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[u>>3]=a;c=k[u>>2]|0;d=k[u+4>>2]|0;e=Zk(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+ri(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=(e&2047)+-1022;k[u>>2]=c;k[u+4>>2]=d&-2146435073|1071644672;a=+p[u>>3]}}return +a}function si(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=5792;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}k[a+12>>2]=5772;b=k[a+32>>2]|0;if(b|0)cn(b);b=k[a+20>>2]|0;if(!b)return;cn(b);return}function ti(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4032;b=k[a+76>>2]|0;if(b|0)cn(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)an(b);k[a>>2]=3456;d=k[a+32>>2]|0;if(!d){cn(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);cn(d);cn(a);return}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295){while(1){d=nk(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=a;a=dm(a|0,b|0,10,0)|0;if(!(b>>>0>9|(b|0)==9&d>>>0>4294967295))break;else b=M}b=a}else b=a;if(b)while(1){c=c+-1|0;i[c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return c|0}function vi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4096;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)an(b);k[a>>2]=3404;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){cn(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);cn(a);return}function wi(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;nf(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;d=a+28|0;k[d>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;d=a+28|0;k[d>>2]=0;r=e;return}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;d=a+4|0;k[d>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823)hm(a);f=xk(b<<2)|0;k[d>>2]=f;k[a>>2]=f;e=f+(b<<2)|0;k[a+8>>2]=e;a=f;while(1){k[a>>2]=k[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}k[d>>2]=e;return}function yi(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=3200;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);cn(b)}b=k[a+68>>2]|0;if(!b){kh(a);cn(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);kh(a);cn(a);return}function zi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3776;b=k[a+76>>2]|0;if(b|0)cn(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)an(b);k[a>>2]=3456;d=k[a+32>>2]|0;if(!d){cn(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);cn(d);cn(a);return}function Ai(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=3264;d=a+8|0;b=k[d>>2]|0;if(!b){cn(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ta[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}cn(b);cn(a);return}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function Ci(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;cn(c)}cn(b)}cn(a);return}function Di(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ka(14172,14197,63,14211);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0|0)>(b|0)){d=d+(b*12|0)|0;lf(c,d,d+12|0);return 1}else Ka(14216,14197,64,14211);return 0}function Ei(a){a=a|0;var b=0,c=0;k[a>>2]=4032;b=k[a+76>>2]|0;if(b|0)cn(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)an(b);k[a>>2]=3456;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;k[a>>2]=b;i=b+16|0;g=k[i+4>>2]|0;h=a+8|0;k[h>>2]=k[i>>2];k[h+4>>2]=g;h=b+24|0;g=k[h+4>>2]|0;b=a+16|0;k[b>>2]=k[h>>2];k[b+4>>2]=g;b=a+40|0;k[b>>2]=c;k[b+4>>2]=d;d=a+48|0;k[d>>2]=e;k[d+4>>2]=f;return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=3200;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);cn(b)}b=k[a+68>>2]|0;if(!b){kh(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);kh(a);return}function Hi(a){a=a|0;var b=0,c=0;k[a>>2]=4096;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)an(b);k[a>>2]=3404;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Fa(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function Ji(a){a=a|0;var b=0,c=0;c=0;while(1){if((l[15782+c>>0]|0)==(a|0)){a=2;break}b=c+1|0;if((b|0)==87){b=15870;c=87;a=5;break}else c=b}if((a|0)==2)if(!c)b=15870;else{b=15870;a=5}if((a|0)==5)while(1){do{a=b;b=b+1|0}while((i[a>>0]|0)!=0);c=c+-1|0;if(!c)break;else a=5}return b|0}function Ki(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{a=xk(16)|0;vl(a);break}case 1:{a=xk(32)|0;vk(a);break}case 2:{a=xk(44)|0;Ak(a);break}case 3:{a=xk(36)|0;ml(a);break}default:a=0}return a|0}function Li(a){a=a|0;var b=0,c=0;k[a>>2]=3776;b=k[a+76>>2]|0;if(b|0)cn(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)an(b);k[a>>2]=3456;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=3264;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ta[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}cn(b);return}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Gk(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Ka(13387,13403,62,13431);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)<=(c|0))Ka(13441,13403,63,13431);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Oi(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(Za[k[(k[d>>2]|0)+16>>2]&127](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Pi(a){a=a|0;var b=0;k[a>>2]=4400;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Va[k[(k[a>>2]|0)+44>>2]&127](a)|0)){c=0;return c|0}c=od(a,b,c)|0;return c|0}function Ri(a){a=a|0;var b=0;k[a>>2]=4656;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function Si(a){a=a|0;var b=0;k[a>>2]=4976;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function Ti(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=$(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function Ui(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+64|0;c=f;d=f+40|0;e=c;b=e+40|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));e=ze(c,d)|0;e=e?l[d+7>>0]|0:-1;fn(c+24|0);r=f;return e|0}function Vi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function Wi(a){a=a|0;var b=0;k[a>>2]=5232;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function Xi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3404;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){cn(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);cn(d);cn(a);return}function Yi(a){a=a|0;var b=0;k[a>>2]=4400;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b)return;cn(b);return}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ka(13387,13403,62,13431);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ka(13441,13403,63,13431);return 0}function _i(a){a=a|0;var b=0;k[a>>2]=4656;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b)return;cn(b);return}function $i(a){a=a|0;var b=0;k[a>>2]=4976;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b)return;cn(b);return}function aj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Gh(0,b,c,d,e);else{a=k[a+8>>2]|0;Ya[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823)hm(a);d=b<<2;e=xk(d)|0;k[a>>2]=e;b=e+(b<<2)|0;k[a+8>>2]=b;Vi(e|0,0,d|0)|0;k[c>>2]=b;return}function cj(a){a=a|0;var b=0;rk(a);rk(a+40|0);b=a+80|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;Lm(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function dj(a){a=a|0;var b=0;k[a>>2]=5232;b=k[a+72>>2]|0;if(b|0)cn(b);b=k[a+60>>2]|0;if(b|0)cn(b);b=k[a+48>>2]|0;if(b|0)cn(b);b=k[a+36>>2]|0;if(!b)return;cn(b);return}function ej(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);cn(d);return}function fj(a){a=a|0;var b=0,c=0;k[a>>2]=3404;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ta[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);cn(c);return}function gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((Al(Ha(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function hj(a,b){a=a|0;b=b|0;var c=0;Lk(a);k[a>>2]=5360;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)a=0;else{while(1){d=i[a>>0]|0;e=i[b>>0]|0;if(d<<24>>24!=e<<24>>24)break;c=c+-1|0;if(!c){a=0;break a}else{a=a+1|0;b=b+1|0}}a=(d&255)-(e&255)|0}while(0);return a|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Jh(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Ra[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return c|0}function kj(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Bi(0,b,c,d);else{a=k[a+8>>2]|0;_a[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function mj(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;c=k[a+44>>2]|0;k[a+28>>2]=c;k[a+20>>2]=c;k[a+16>>2]=c+(k[a+48>>2]|0);a=0}else{k[a>>2]=b|32;a=-1}return a|0}function nj(a){a=a|0;var b=0,c=0;k[a>>2]=4464;b=k[a+52>>2]|0;if(b|0)cn(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){cn(a);return}an(b);cn(a);return}function oj(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){nc(a,b,c);return}else{uc(a,0,0);return}}function qj(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[t>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ia()|0;Aa(12);return -1}k[t>>2]=a;if((a|0)>(ha()|0)?(ga()|0)==0:0){Aa(12);k[t>>2]=b;return -1}return b|0}function rj(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];b=Yb(a,b,d)|0;r=c;return b|0}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=k[c>>2]|0;d=a;c=b-a>>2;while(1){if(!c)break;b=(c|0)/2|0;f=d+(b<<2)|0;a=(k[f>>2]|0)>>>0>>0;d=a?f+4|0:d;c=a?c+-1-b|0:b}return d|0}function uj(a){a=a|0;var b=0,c=0;k[a>>2]=4720;b=k[a+52>>2]|0;if(b|0)cn(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){cn(a);return}an(b);cn(a);return}function vj(a){a=a|0;var b=0,c=0;k[a>>2]=5040;b=k[a+52>>2]|0;if(b|0)cn(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){cn(a);return}an(b);cn(a);return}function wj(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function xj(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function yj(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Gk(a,b,c)|0)){c=0;return c|0}a=k[a+8>>2]|0;if((i[a+24>>0]|0)!=3){c=0;return c|0}c=(k[a+28>>2]|0)==9;return c|0}function Aj(a){a=a|0;var b=0,c=0;k[a>>2]=5296;b=k[a+52>>2]|0;if(b|0)cn(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){cn(a);return}an(b);cn(a);return}function Bj(a,b){a=a|0;b=b|0;ef(a,b,3140);b=b*3|0;Cf(a+12|0,b,3136);Xh(a+24|0,b);return}function Cj(a){a=a|0;var b=0;k[a>>2]=4464;b=k[a+52>>2]|0;if(b|0)cn(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;an(a);return}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=$(c,b)|0;if((k[d+76>>2]|0)>-1){f=(gn(d)|0)==0;a=qh(a,e,d)|0;if(!f)fn(d)}else a=qh(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Ej(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;lg(a+20|0,d,c);r=b;return}function Fj(a){a=a|0;var b=0;k[a>>2]=4720;b=k[a+52>>2]|0;if(b|0)cn(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;an(a);return}function Gj(a){a=a|0;var b=0;k[a>>2]=5040;b=k[a+52>>2]|0;if(b|0)cn(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;an(a);return}function Hj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+36>>2]=b;b=1;return b|0}function Ij(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3456;b=k[a+32>>2]|0;if(!b){cn(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);cn(a);return}function Jj(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;lg(a+20|0,d,c);r=b;return}function Kj(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function Lj(a){a=a|0;k[a>>2]=5748;nh(a+8|0);cn(a);return}function Mj(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+60>>2]=b;b=1;return b|0}function Nj(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 (M=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Oj(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=sl(k[a+32>>2]|0,0,7,0)|0;c=Zk(c|0,M|0,3)|0;a=a+16|0;b=a;b=sl(c|0,M|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=M;return}function Pj(a){a=a|0;var b=0;k[a>>2]=5296;b=k[a+52>>2]|0;if(b|0)cn(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;an(a);return}function Qj(a){a=a|0;k[a>>2]=0;cg(a+8|0);Fm(a+776|0);jl(a+800|0);jl(a+820|0);jl(a+840|0);return}function Rj(a){a=a|0;k[a>>2]=5748;nh(a+8|0);return}function Sj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){c=-1;return c|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){c=-1;return c|0}c=k[c>>2]|0;return c|0}function Tj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Gh(0,b,c,d,e);return}function Uj(a){a=a|0;var b=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;i[a+24>>0]=1;a=a+28|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Vj(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ka(13387,13403,54,13431);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Ka(13441,13403,55,13431);return 0}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else Ii(a,b,c)|0;return a|0}function Xj(a){a=a|0;k[a>>2]=0;Dg(a+8|0);Lm(a+520|0);jl(a+536|0);jl(a+556|0);jl(a+576|0);return}function Yj(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);cn(b)}cn(a);return}function Zj(a){a=a|0;var b=0,c=0;k[a>>2]=3456;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);cn(c);return}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=k[a+(d<<2)>>2]|0;k[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function $j(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3236;b=k[a+4>>2]|0;if(!b){cn(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);cn(b);cn(a);return}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Ra[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function bk(){var a=0,b=0;a=sk()|0;if((a|0?(b=k[a>>2]|0,b|0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0)Cl(k[b+12>>2]|0);Cl(wm()|0)}function ck(a){a=a|0;var b=0;b=i[w+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[w+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[w+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[w+(a>>>24)>>0]|0)+24|0}function dk(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))Bi(0,b,c,d);return}function fk(a){a=a|0;var b=0,c=0;k[a>>2]=3236;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);cn(c);return}function gk(a){a=a|0;var b=0;k[a>>2]=5724;b=k[a+20>>2]|0;if(b|0)cn(b);b=k[a+8>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function hk(a){a=a|0;var b=0,c=0;c=k[a>>2]|0;if(!c)return;a=a+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-8-c|0)>>>3)<<3);cn(c);return}function ik(a){a=a|0;var b=0,c=0;c=k[a>>2]|0;if(!c)return;a=a+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);cn(c);return}function jk(a){a=a|0;k[a>>2]=0;jl(a+8|0);jl(a+28|0);jl(a+48|0);jl(a+68|0);return}function kk(a){a=a|0;k[a>>2]=0;Lm(a+8|0);jl(a+24|0);jl(a+44|0);jl(a+64|0);return}function lk(a){a=a|0;var b=0;k[a>>2]=5772;b=k[a+20>>2]|0;if(b|0)cn(b);b=k[a+8>>2]|0;if(!b){cn(a);return}cn(b);cn(a);return}function mk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ka(9600,9611,77,9691);return 0}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;ld(a,b,c,d,e)|0;r=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function ok(a){a=a|0;var b=0;k[a>>2]=5724;b=k[a+20>>2]|0;if(b|0)cn(b);a=k[a+8>>2]|0;if(!a)return;cn(a);return}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yc(b,c,d)|0}function qk(a){a=a|0;bl(a);k[a>>2]=3200;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function rk(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;em(a+24|0);i[a+36>>0]=0;return}function sk(){var a=0,b=0;a=r;r=r+16|0;if(!(Ca(18968,3)|0)){b=ua(k[4743]|0)|0;r=a;return b|0}else Vk(18134,a);return 0}function tk(a){a=a|0;var b=0;k[a>>2]=5772;b=k[a+20>>2]|0;if(b|0)cn(b);a=k[a+8>>2]|0;if(!a)return;cn(a);return}function uk(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=Nj(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function vk(a){a=a|0;vl(a);k[a>>2]=3404;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function wk(a){a=a|0;wj(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function xk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=cb(b)|0;if(a|0)break;a=sm()|0;if(!a){a=0;break}Xa[a&3]()}return a|0}function yk(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function zk(a){a=a|0;var b=0;b=r;r=r+16|0;Gb(a);if(!(va(k[4743]|0,0)|0)){r=b;return}else Vk(18233,b)}function Ak(a){a=a|0;vk(a);k[a>>2]=4096;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=da(0.0);return}function Bk(a){a=a|0;k[a>>2]=3264;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;j[a+20>>1]=0;return}function Ck(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;c=a+16|0;k[c>>2]=0;k[c+4>>2]=0;return}function Dk(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;k[a+28>>2]=c;return wh(a,b,c)|0}function Fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Sf(b,c,d)|0}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return Zi(a,b,c)|0}function Hk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=Al(za(6,c|0)|0)|0;r=b;return a|0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;return Sj(b,c)|0}function Jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function Kk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ua[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Lk(a){a=a|0;k[a>>2]=3236;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Mk(a){a=a|0;Ed(a);cn(a);return}function Nk(a,b,c){a=a|0;b=da(b);c=c|0;var d=Pa;d=da(da(1.0)/da(c|0));o[a+4>>2]=d;o[a>>2]=b;return}function Ok(){var a=0;a=r;r=r+16|0;if(!(ya(18972,96)|0)){r=a;return}else Vk(18183,a)}function Pk(a){a=a|0;he(a);cn(a);return}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Di(b,c,d)|0}function Rk(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;Ya[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Sk(a){a=a|0;if(!(k[a+28>>2]|0))return 0;else return Va[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function Tk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<>2]|0;return Za[k[(k[a>>2]|0)+16>>2]&127](a,b)|0}function Vk(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c>>2]=b;b=k[1481]|0;pg(b,a,c)|0;ei(10,b)|0;Ba()}function Wk(a,b){a=a|0;b=b|0;a=k[a+32>>2]|0;return Za[k[(k[a>>2]|0)+12>>2]&127](a,b)|0}function Xk(a,b){a=a|0;b=b|0;a=k[a+32>>2]|0;return Za[k[(k[a>>2]|0)+20>>2]&127](a,b)|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;return Ik(a,b,c)|0}function Zk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function _k(a){a=a|0;Ud(a);cn(a);return}function $k(){}function al(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 (M=d,a-c>>>0|0)|0}function bl(a){a=a|0;var b=0;k[a>>2]=3164;a=a+4|0;b=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function cl(a){a=a|0;return 4}function dl(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function el(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sa[a&3](b|0,c|0,d|0,e|0,f|0)}function fl(a){a=a|0;a=k[a+32>>2]|0;return Va[k[(k[a>>2]|0)+28>>2]&127](a)|0}function gl(a,b){a=a|0;b=b|0;return Za[k[(k[a>>2]|0)+48>>2]&127](a,b)|0}function hl(a){a=a|0;a=k[a+32>>2]|0;return Va[k[(k[a>>2]|0)+24>>2]&127](a)|0}function il(a,b){a=a|0;b=b|0;return wl(b)|0}function jl(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function kl(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function ll(a){a=a|0;a=k[a+32>>2]|0;return Va[k[(k[a>>2]|0)+36>>2]&127](a)|0}function ml(a){a=a|0;vk(a);k[a>>2]=4156;k[a+32>>2]=-1;return}function nl(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function ol(a,b){a=a|0;b=b|0;return rl(a,b)|0}function pl(a){a=a|0;k[a+12>>2]=0;k[a+16>>2]=0;k[a>>2]=0;o[a+4>>2]=da(0.0);return}function ql(a,b,c){a=a|0;b=b|0;c=c|0;return Vj(b,c)|0}function rl(a,b){a=a|0;b=b|0;return Ui(b)|0}function sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function tl(a,b){a=a|0;b=b|0;return Dl(b)|0}function ul(){var a=0;if(!(k[4606]|0))a=18468;else{a=(ln()|0)+64|0;a=k[a>>2]|0}return a|0}function vl(a){a=a|0;k[a>>2]=3368;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function wl(a){a=a|0;return Kf(a)|0}function xl(a){a=a|0;if(!a)return;Ta[k[(k[a>>2]|0)+4>>2]&127](a);return}function yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_a[a&3](b|0,c|0,d|0,e|0)}function zl(a){a=a|0;var b=0;b=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Al(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ul()|0;k[b>>2]=0-a;a=-1}return a|0}function Bl(a){a=a|0;if(!a)a=0;else a=(tg(a,984,1056,0)|0)!=0;return a&1|0}function Cl(a){a=a|0;var b=0;b=r;r=r+16|0;Xa[a&3]();Vk(18286,b)}function Dl(a){a=a|0;return mh(a)|0}function El(a){a=a|0;lh(a);cn(a);return}function Fl(a,b){a=a|0;b=b|0;return da(Ml(a,b))}function Gl(a){a=a|0;Nl(a);k[a>>2]=5592;k[a+32>>2]=0;return}function Hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ra[a&31](b|0,c|0,d|0)|0}function Il(a,b,c){a=a|0;b=b|0;c=c|0;Ck(a,b,c);return}function Jl(a){a=a|0;if(!a)return;fn(a+24|0);cn(a);return}function Kl(){var a=0;a=xk(64)|0;wj(a);return a|0}function Ll(a){a=a|0;return k[a+8>>2]|0}function Ml(a,b){a=a|0;b=b|0;return da(o[(k[a>>2]|0)+(b<<2)>>2])}function Nl(a){a=a|0;Bk(a);k[a>>2]=3308;k[a+28>>2]=0;return}function Ol(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function Pl(a,b){a=a|0;b=b|0;return -1}function Ql(a){a=a|0;return 3}function Rl(a,b){a=a|0;b=b|0;return _l(a,b)|0}function Sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wa[a&7](b|0,c|0,d|0)}function Tl(){var a=0;a=xk(88)|0;wk(a);return a|0}function Ul(a){a=a|0;return k[a+4>>2]|0}function Vl(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function Wl(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Rh(a,b,0)|0;return a|0}function Xl(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Yl(){var a=0;a=xk(12)|0;em(a);return a|0}function Zl(){var a=0;a=xk(40)|0;rk(a);return a|0}function _l(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(3);return 0}function am(a){a=a|0;o[a>>2]=da(1.0);o[a+4>>2]=da(1.0);return}function bm(a){a=a|0;Lk(a);k[a>>2]=5504;return}function cm(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ld(a,b,c,d,0)|0}function em(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function fm(){var a=0;a=xk(68)|0;bl(a);return a|0}function gm(a){a=a|0;Ka(17815,17697,315,17838)}function hm(a){a=a|0;Ka(17674,17697,304,17794)}function im(a,b,c){a=a|0;b=b|0;c=c|0;return Za[a&127](b|0,c|0)|0}function jm(a){a=a|0;Nl(a);k[a>>2]=5532;return}function km(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(7)}function lm(){var a=0;a=xk(1)|0;fn(a);return a|0}function mm(a){a=a|0;if(!a)return;cn(a);return}function nm(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function om(){var a=0;a=xk(92)|0;qk(a);return a|0}function pm(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(1)}function rm(a){a=a|0;if(!(k[a+68>>2]|0))fn(a);return}function sm(){var a=0;a=k[4744]|0;k[4744]=a+0;return a|0}function tm(a){a=a|0;return i[a+24>>0]|0}function um(a){a=a|0;return m[a+60>>1]|0|0}function vm(a){a=a|0;return k[a+56>>2]|0}function wm(){var a=0;a=k[1606]|0;k[1606]=a+0;return a|0}function xm(a){a=a|0;kh(a);cn(a);return}function ym(a){a=a|0;return 2}function zm(a,b){a=a|0;b=b|0;return 0}function Am(a){a=a|0;return k[a+40>>2]|0}function Bm(a){a=a|0;return k[a+48>>2]|0}function Cm(a,b){a=a|0;b=b|0;return Va[a&127](b|0)|0}function Dm(a){a=a|0;return k[a+28>>2]|0}function Em(a){a=a|0;Ea(a|0)|0;bk()}function Fm(a){a=a|0;p[a+16>>3]=.5;return}function Gm(a){a=a|0;return k[a+80>>2]|0}function Hm(a,b){a=a|0;b=b|0;r=a;s=b}function Im(a){a=a|0;return k[a+64>>2]|0}function Jm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(9)}function Km(a,b){a=a|0;b=b|0;Ta[a&127](b|0)}function Lm(a){a=a|0;i[a+12>>0]=0;return}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;ea(0);return 0}function Nm(a){a=a|0;return (a&255)<<8|a>>8&255|0}function Om(a){a=a|0;k[a>>2]=6520;return}function Pm(a){a=a|0;return 1}function Qm(a,b){a=+a;b=b|0;return +(+ri(a,b))}function Rm(){return 3}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;ea(5)}function Tm(){return -1}function Um(){return 4}function Vm(){return 1}function Wm(){return 2}function Xm(a,b){a=a|0;b=b|0;ea(8);return 0}function Ym(a){a=a|0;return 18326}function Zm(a){a=a|0;Xa[a&3]()}function _m(){La()}function $m(a){a=a|0;return xk(a)|0}function an(a){a=a|0;cn(a);return}function bn(a){a=a|0;r=a}function cn(a){a=a|0;Gb(a);return}function dn(a){a=a|0;M=a}function en(a){a=a|0;ea(4);return 0}function fn(a){a=a|0;return}function gn(a){a=a|0;return 0}function hn(){return M|0}function jn(){return r|0}function kn(a){a=a|0;ea(2)}function ln(){return 0}function mn(){ea(6)} + +// EMSCRIPTEN_END_FUNCS +var Ra=[Mm,dl,Zi,jj,Yg,Gk,ag,od,Ch,Ni,Qi,zj,Nh,gh,Af,gj,Th,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm,Mm];var Sa=[qm,Mh,_f,qm];var Ta=[kn,kh,xm,Ab,Gi,yi,fk,$j,Mi,Ai,Ai,fn,an,fj,Xi,Zj,Ij,Ij,Ij,Ij,mi,hi,Li,zi,Ij,Ij,ki,gi,Ei,ti,Hi,vi,Xi,fn,an,an,an,Yi,Pi,Cj,nj,an,an,_i,Ri,Fj,uj,an,an,an,$i,Si,Gj,vj,an,an,dj,Wi,Pj,Aj,lh,El,Ai,fn,an,Ai,$j,Ai,di,$h,Ud,_k,qi,ni,ok,gk,Ej,Rj,Lj,tk,lk,Jj,si,pi,Ed,Mk,he,Pk,fn,an,fn,fn,an,fn,an,rm,zk,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn,kn];var Ua=[$l,Bc,ud,Tb,ic,Hb,Sb,gb,rb,Xc,Md,Zb,kc,Ib,Vb,fb,qb,Vc,Ld,Wh,Ph,le,Ge,Ec,Zc,mb,Jb,Of,Lf,Wd,je,Cc,Sc,ob,Mb,Wf,Qf,_h,Vh,pe,Ie,Fc,bd,nb,Lb,Xf,Rf,be,oe,Dc,Wc,pb,Nb,$f,Zf,$l,$l,$l,$l,$l,$l,$l,$l,$l];var Va=[en,oi,gn,Pm,Pm,Gf,Oi,Pm,Pm,Sk,gn,Ol,Ul,gn,gn,Pm,gn,Pm,Pm,xj,ym,xj,cl,xj,Ql,oj,Pm,Pm,xj,ym,xj,cl,xj,Ql,oj,Pm,gf,ym,gn,Ul,Pm,gn,Pm,Ql,Pm,rj,ym,rj,cl,rj,Ql,kj,Pm,Pm,rj,ym,rj,cl,rj,Ql,kj,Pm,gn,Ul,Pm,gn,Pm,ym,Pm,rj,ym,rj,cl,rj,Ql,kj,Pm,Pm,rj,ym,rj,cl,rj,Ql,kj,Pm,ji,yh,ji,Kb,Ef,fl,ll,hl,lb,Pm,Ul,Ll,dg,qf,gg,jb,Pm,Ul,Ll,kb,Pm,Ul,Ll,Hk,Ym,en,en,en,en,en,en,en,en,en,en,en,en,en,en,en,en,en];var Wa=[Sm,eg,wf,og,Hh,Sm,Sm,Sm];var Xa=[mn,_m,ph,Ok];var Ya=[km,Tj,aj,km];var Za=[Xm,jd,zm,zm,nl,bh,fc,Pl,zm,hh,Uf,Le,ae,mk,Mj,xd,ee,Le,ae,mk,Mj,xd,ee,gl,pf,Tg,Pl,zm,hh,ng,Je,ie,mk,Hj,wd,Ae,Je,ie,mk,Hj,wd,Ae,Pl,zm,hh,ng,Je,ie,mk,Hj,wd,Ae,Je,ie,mk,Hj,wd,Ae,We,yf,Ki,hg,dk,rh,xb,hg,Xk,Wk,Uk,kl,Ah,Dh,ac,$e,Ve,Se,kl,Ah,Dh,ac,kl,Ah,Dh,ac,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm,Xm];var _a=[Jm,ek,lj,Jm];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:tl,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Zl,_bitshift64Shl:Tk,_emscripten_bind_Mesh___destroy___0:xl,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Yl,_llvm_cttz_i32:ck,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:ol,_emscripten_bind_PointAttribute_byte_offset_0:Bm,___udivdi3:dm,_emscripten_bind_PointAttribute_normalized_0:pm,_bitshift64Lshr:Zk,_i64Subtract:al,___udivmoddi4:ld,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:Fk,_i64Add:sl,_malloc:cb,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:Vm,___cxa_is_pointer_type:Bl,_emscripten_bind_PointAttribute_size_0:Gm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:Wm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:ln,_emscripten_bind_VoidPtr___destroy___0:mm,_memset:Vi,_emscripten_bind_PointAttribute_attribute_type_0:vm,_sbrk:qj,_emscripten_bind_DecoderBuffer_Init_2:Il,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:Vm,_emscripten_bind_DecoderBuffer___destroy___0:Jl,_emscripten_bind_PointAttribute_custom_id_0:um,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Tm,_emscripten_bind_DracoInt32Array___destroy___0:Yj,_emscripten_bind_Mesh_num_points_0:Im,___uremdi3:nk,_emscripten_bind_Mesh_Mesh_0:om,_emscripten_bind_WebIDLWrapper_GetAttribute_2:ql,_emscripten_bind_PointAttribute_components_count_0:tm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:ln,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Rm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Um,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:Qk,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Yl,_pthread_self:ln,_emscripten_bind_PointAttribute_data_type_0:Dm,_llvm_bswap_i16:Nm,_emscripten_bind_Mesh_num_attributes_0:cm,_emscripten_bind_DracoFloat32Array_GetValue_1:Fl,_emscripten_bind_DracoFloat32Array___destroy___0:Yj,_emscripten_bind_PointCloud_num_points_0:Im,_emscripten_bind_PointCloud___destroy___0:xl,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Kl,___muldsi3:Nj,_emscripten_bind_PointAttribute_PointAttribute_0:Tl,_free:Gb,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Tm,_emscripten_bind_GeometryAttribute___destroy___0:mm,_emscripten_bind_Mesh_num_faces_0:Xl,_emscripten_bind_DracoInt32Array_GetValue_1:Rl,_emscripten_bind_PointAttribute_byte_stride_0:Am,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:Yk,_memcpy:Ii,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:lm,_memmove:Wj,___muldi3:uk,_emscripten_bind_PointCloud_num_attributes_0:cm,_emscripten_bind_WebIDLWrapper___destroy___0:mm,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:il,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:pk,_emscripten_bind_PointCloud_PointCloud_0:fm,_emscripten_bind_PointAttribute___destroy___0:Ci,___cxa_can_catch:ak,runPostSets:$k,_emscripten_replace_memory:Qa,stackAlloc:Vl,stackSave:jn,stackRestore:bn,establishStackSpace:Hm,setThrew:nm,setTempRet0:dn,getTempRet0:hn,dynCall_iiii:Hl,dynCall_viiiii:el,dynCall_vi:Km,dynCall_iiiiiii:Kk,dynCall_ii:Cm,dynCall_viii:Sl,dynCall_v:Zm,dynCall_viiiiii:Rk,dynCall_iii:im,dynCall_viiii:yl}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_PointAttribute_custom_id_0=Module["_emscripten_bind_PointAttribute_custom_id_0"]=asm["_emscripten_bind_PointAttribute_custom_id_0"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=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;i0){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();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i1){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"}}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){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>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)}}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}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;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>2]=0}stop=ret+size;while(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>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)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){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(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}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 updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which 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 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var LIMIT=Math.pow(2,31);if(HEAP32[DYNAMICTOP_PTR>>2]>=LIMIT)return false;while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY=LIMIT)return false;var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement)return false;updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var WASM_PAGE_SIZE=64*1024;var totalMemory=WASM_PAGE_SIZE;while(totalMemory0){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)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+14896;__ATINIT__.push();allocate([108,20,0,0,239,21,0,0,148,20,0,0,4,22,0,0,8,0,0,0,0,0,0,0,108,20,0,0,18,22,0,0,108,20,0,0,46,22,0,0,148,20,0,0,74,22,0,0,40,0,0,0,0,0,0,0,108,20,0,0,96,22,0,0,148,20,0,0,190,27,0,0,64,0,0,0,0,0,0,0,148,20,0,0,133,22,0,0,104,0,0,0,0,0,0,0,148,20,0,0,212,22,0,0,120,0,0,0,0,0,0,0,148,20,0,0,25,23,0,0,136,0,0,0,0,0,0,0,108,20,0,0,70,23,0,0,148,20,0,0,106,23,0,0,160,0,0,0,0,0,0,0,148,20,0,0,237,23,0,0,104,0,0,0,0,0,0,0,148,20,0,0,103,24,0,0,160,0,0,0,0,0,0,0,148,20,0,0,243,24,0,0,160,0,0,0,0,0,0,0,148,20,0,0,122,25,0,0,224,0,0,0,0,0,0,0,148,20,0,0,10,26,0,0,104,0,0,0,0,0,0,0,148,20,0,0,145,26,0,0,224,0,0,0,0,0,0,0,148,20,0,0,42,27,0,0,224,0,0,0,0,0,0,0,148,20,0,0,234,27,0,0,72,0,0,0,0,0,0,0,148,20,0,0,104,36,0,0,72,0,0,0,0,0,0,0,148,20,0,0,160,30,0,0,64,1,0,0,0,0,0,0,148,20,0,0,250,30,0,0,120,0,0,0,0,0,0,0,148,20,0,0,188,31,0,0,96,1,0,0,0,0,0,0,148,20,0,0,74,32,0,0,64,1,0,0,0,0,0,0,148,20,0,0,207,32,0,0,96,1,0,0,0,0,0,0,148,20,0,0,102,33,0,0,96,1,0,0,0,0,0,0,148,20,0,0,248,33,0,0,160,1,0,0,0,0,0,0,148,20,0,0,147,34,0,0,64,1,0,0,0,0,0,0,148,20,0,0,37,35,0,0,160,1,0,0,0,0,0,0,148,20,0,0,201,35,0,0,160,1,0,0,0,0,0,0,148,20,0,0,147,36,0,0,32,0,0,0,0,0,0,0,148,20,0,0,247,36,0,0,40,0,0,0,0,0,0,0,148,20,0,0,195,36,0,0,0,2,0,0,0,0,0,0,108,20,0,0,221,36,0,0,148,20,0,0,29,37,0,0,40,0,0,0,0,0,0,0,148,20,0,0,59,38,0,0,32,0,0,0,0,0,0,0,148,20,0,0,198,39,0,0,48,0,0,0,0,0,0,0,148,20,0,0,230,39,0,0,48,0,0,0,0,0,0,0,148,20,0,0,183,42,0,0,136,2,0,0,0,0,0,0,108,20,0,0,7,40,0,0,148,20,0,0,245,40,0,0,0,2,0,0,0,0,0,0,108,20,0,0,191,41,0,0,148,20,0,0,250,41,0,0,0,2,0,0,0,0,0,0,108,20,0,0,3,43,0,0,148,20,0,0,49,43,0,0,136,2,0,0,0,0,0,0,108,20,0,0,81,54,0,0,148,20,0,0,177,54,0,0,184,2,0,0,0,0,0,0,148,20,0,0,94,54,0,0,200,2,0,0,0,0,0,0,108,20,0,0,127,54,0,0,148,20,0,0,140,54,0,0,168,2,0,0,0,0,0,0,148,20,0,0,162,55,0,0,160,2,0,0,0,0,0,0,148,20,0,0,211,55,0,0,184,2,0,0,0,0,0,0,148,20,0,0,175,55,0,0,240,2,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,86,85,85,85,2,0,0,0,0,0,0,0,2,0,0,0,154,153,153,153,3,0,0,0,86,85,85,85,3,0,0,0,37,73,146,36,3,0,0,0,0,0,0,0,3,0,0,0,200,113,28,199,4,0,0,0,154,153,153,153,4,0,0,0,70,23,93,116,4,0,0,0,86,85,85,85,4,0,0,0,60,177,19,59,4,0,0,0,37,73,146,36,4,0,0,0,18,17,17,17,4,0,0,0,0,0,0,0,4,0,0,0,226,225,225,225,5,0,0,0,200,113,28,199,5,0,0,0,203,107,40,175,5,0,0,0,154,153,153,153,5,0,0,0,135,97,24,134,5,0,0,0,70,23,93,116,5,0,0,0,145,133,44,100,5,0,0,0,86,85,85,85,5,0,0,0,123,20,174,71,5,0,0,0,60,177,19,59,5,0,0,0,219,75,104,47,5,0,0,0,37,73,146,36,5,0,0,0,18,150,123,26,5,0,0,0,18,17,17,17,5,0,0,0,133,16,66,8,5,0,0,0,0,0,0,0,5,0,0,0,8,31,124,240,6,0,0,0,226,225,225,225,6,0,0,0,213,65,29,212,6,0,0,0,200,113,28,199,6,0,0,0,77,145,207,186,6,0,0,0,203,107,40,175,6,0,0,0,165,65,26,164,6,0,0,0,154,153,153,153,6,0,0,0,250,24,156,143,6,0,0,0,135,97,24,134,6,0,0,0,24,244,5,125,6,0,0,0,70,23,93,116,6,0,0,0,109,193,22,108,6,0,0,0,145,133,44,100,6,0,0,0,186,130,152,92,6,0,0,0,86,85,85,85,6,0,0,0,115,10,94,78,6,0,0,0,123,20,174,71,6,0,0,0,66,65,65,65,6,0,0,0,60,177,19,59,6,0,0,0,179,207,33,53,6,0,0,0,219,75,104,47,6,0,0,0,159,18,228,41,6,0,0,0,37,73,146,36,6,0,0,0,221,71,112,31,6,0,0,0,18,150,123,26,6,0,0,0,248,229,177,21,6,0,0,0,18,17,17,17,6,0,0,0,252,20,151,12,6,0,0,0,133,16,66,8,6,0,0,0,5,65,16,4,6,0,0,0,0,0,0,0,6,0,0,0,249,129,31,248,7,0,0,0,8,31,124,240,7,0,0,0,192,26,19,233,7,0,0,0,226,225,225,225,7,0,0,0,108,7,230,218,7,0,0,0,213,65,29,212,7,0,0,0,145,104,133,205,7,0,0,0,200,113,28,199,7,0,0,0,57,112,224,192,7,0,0,0,77,145,207,186,7,0,0,0,79,27,232,180,7,0,0,0,203,107,40,175,7,0,0,0,7,246,142,169,7,0,0,0,165,65,26,164,7,0,0,0,82,233,200,158,7,0,0,0,154,153,153,153,7,0,0,0,206,15,139,148,7,0,0,0,250,24,156,143,7,0,0,0,247,144,203,138,7,0,0,0,135,97,24,134,7,0,0,0,130,129,129,129,7,0,0,0,24,244,5,125,7,0,0,0,24,200,164,120,7,0,0,0,70,23,93,116,7,0,0,0,193,5,46,112,7,0,0,0,109,193,22,108,7,0,0,0,105,129,22,104,7,0,0,0,145,133,44,100,7,0,0,0,6,22,88,96,7,0,0,0,186,130,152,92,7,0,0,0,9,35,237,88,7,0,0,0,86,85,85,85,7,0,0,0,175,126,208,81,7,0,0,0,115,10,94,78,7,0,0,0,6,106,253,74,7,0,0,0,123,20,174,71,7,0,0,0,87,134,111,68,7,0,0,0,66,65,65,65,7,0,0,0,207,203,34,62,7,0,0,0,60,177,19,59,7,0,0,0,57,129,19,56,7,0,0,0,179,207,33,53,7,0,0,0,163,52,62,50,7,0,0,0,219,75,104,47,7,0,0,0,217,180,159,44,7,0,0,0,159,18,228,41,7,0,0,0,137,11,53,39,7,0,0,0,37,73,146,36,7,0,0,0,19,120,251,33,7,0,0,0,221,71,112,31,7,0,0,0,219,106,240,28,7,0,0,0,18,150,123,26,7,0,0,0,25,129,17,24,7,0,0,0,248,229,177,21,7,0,0,0,20,129,92,19,7,0,0,0,18,17,17,17,7,0,0,0,191,86,207,14,7,0,0,0,252,20,151,12,7,0,0,0,167,16,104,10,7,0,0,0,133,16,66,8,7,0,0,0,48,221,36,6,7,0,0,0,5,65,16,4,7,0,0,0,17,8,4,2,7,0,0,0,0,0,0,0,7,0,0,0,32,240,7,252,8,0,0,0,249,129,31,248,8,0,0,0,229,89,70,244,8,0,0,0,8,31,124,240,8,0,0,0,49,123,192,236,8,0,0,0,192,26,19,233,8,0,0,0,145,172,115,229,8,0,0,0,226,225,225,225,8,0,0,0,64,110,93,222,8,0,0,0,108,7,230,218,8,0,0,0,76,101,123,215,8,0,0,0,213,65,29,212,8,0,0,0,247,88,203,208,8,0,0,0,145,104,133,205,8,0,0,0,86,48,75,202,8,0,0,0,200,113,28,199,8,0,0,0,29,240,248,195,8,0,0,0,57,112,224,192,8,0,0,0,154,184,210,189,8,0,0,0,77,145,207,186,8,0,0,0,222,195,214,183,8,0,0,0,79,27,232,180,8,0,0,0,7,100,3,178,8,0,0,0,203,107,40,175,8,0,0,0,173,1,87,172,8,0,0,0,7,246,142,169,8,0,0,0,110,26,208,166,8,0,0,0,165,65,26,164,8,0,0,0,152,63,109,161,8,0,0,0,82,233,200,158,8,0,0,0,239,20,45,156,8,0,0,0,154,153,153,153,8,0,0,0,129,79,14,151,8,0,0,0,206,15,139,148,8,0,0,0,158,180,15,146,8,0,0,0,250,24,156,143,8,0,0,0,212,24,48,141,8,0,0,0,247,144,203,138,8,0,0,0,11,95,110,136,8,0,0,0,135,97,24,134,8,0,0,0,172,119,201,131,8,0,0,0,130,129,129,129,8,0,0,0,209,95,64,127,8,0,0,0,24,244,5,125,8,0,0,0,143,32,210,122,8,0,0,0,24,200,164,120,8,0,0,0,68,206,125,118,8,0,0,0,70,23,93,116,8,0,0,0,245,135,66,114,8,0,0,0,193,5,46,112,8,0,0,0,181,118,31,110,8,0,0,0,109,193,22,108,8,0,0,0,22,205,19,106,8,0,0,0,105,129,22,104,8,0,0,0,166,198,30,102,8,0,0,0,145,133,44,100,8,0,0,0,113,167,63,98,8,0,0,0,6,22,88,96,8,0,0,0,142,187,117,94,8,0,0,0,186,130,152,92,8,0,0,0,177,86,192,90,8,0,0,0,9,35,237,88,8,0,0,0,198,211,30,87,8,0,0,0,86,85,85,85,8,0,0,0,144,148,144,83,8,0,0,0,175,126,208,81,8,0,0,0,81,1,21,80,8,0,0,0,115,10,94,78,8,0,0,0,115,136,171,76,8,0,0,0,6,106,253,74,8,0,0,0,60,158,83,73,8,0,0,0,123,20,174,71,8,0,0,0,128,188,12,70,8,0,0,0,87,134,111,68,8,0,0,0,94,98,214,66,8,0,0,0,66,65,65,65,8,0,0,0,252,19,176,63,8,0,0,0,207,203,34,62,8,0,0,0,72,90,153,60,8,0,0,0,60,177,19,59,8,0,0,0,194,194,145,57,8,0,0,0,57,129,19,56,8,0,0,0,62,223,152,54,8,0,0,0,179,207,33,53,8,0,0,0,182,69,174,51,8,0,0,0,163,52,62,50,8,0,0,0,20,144,209,48,8,0,0,0,219,75,104,47,8,0,0,0,5,92,2,46,8,0,0,0,217,180,159,44,8,0,0,0,209,74,64,43,8,0,0,0,159,18,228,41,8,0,0,0,41,1,139,40,8,0,0,0,137,11,53,39,8,0,0,0,9,39,226,37,8,0,0,0,37,73,146,36,8,0,0,0,138,103,69,35,8,0,0,0,19,120,251,33,8,0,0,0,199,112,180,32,8,0,0,0,221,71,112,31,8,0,0,0,180,243,46,30,8,0,0,0,219,106,240,28,8,0,0,0,5,164,180,27,8,0,0,0,18,150,123,26,8,0,0,0,9,56,69,25,8,0,0,0,25,129,17,24,8,0,0,0,149,104,224,22,8,0,0,0,248,229,177,21,8,0,0,0,225,240,133,20,8,0,0,0,20,129,92,19,8,0,0,0,118,142,53,18,8,0,0,0,18,17,17,17,8,0,0,0,16,1,239,15,8,0,0,0,191,86,207,14,8,0,0,0,137,10,178,13,8,0,0,0,252,20,151,12,8,0,0,0,195,110,126,11,8,0,0,0,167,16,104,10,8,0,0,0,145,243,83,9,8,0,0,0,133,16,66,8,8,0,0,0,165,96,50,7,8,0,0,0,48,221,36,6,8,0,0,0,126,127,25,5,8,0,0,0,5,65,16,4,8,0,0,0,82,27,9,3,8,0,0,0,17,8,4,2,8,0,0,0,2,1,1,1,8,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,0,0,0,192,0,0,0,0,16,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,0,0,0,192,0,0,0,0,32,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,40,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,48,0,0,0,8,0,0,0,10,0,0,0,8,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,64,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,72,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,0,104,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,88,0,0,0,15,0,0,0,17,0,0,0,16,0,0,0,12,0,0,0,17,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,192,0,0,0,15,0,0,0,18,0,0,0,18,0,0,0,12,0,0,0,19,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,176,0,0,0,15,0,0,0,19,0,0,0,20,0,0,0,12,0,0,0,21,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,144,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,12,0,0,0,23,0,0,0,24,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,22,0,0,0,25,0,0,0,12,0,0,0,26,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,240,0,0,0,15,0,0,0,23,0,0,0,27,0,0,0,12,0,0,0,28,0,0,0,13,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,208,0,0,0,24,0,0,0,25,0,0,0,29,0,0,0,12,0,0,0,30,0,0,0,31,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,16,1,0,0,26,0,0,0,27,0,0,0,9,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,8,0,0,0,11,0,0,0,19,0,0,0,32,0,0,0,20,0,0,0,0,0,0,0,32,1,0,0,13,0,0,0,28,0,0,0,11,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,12,0,0,0,13,0,0,0,33,0,0,0,21,0,0,0,0,0,0,0,48,1,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,192,1,0,0,29,0,0,0,31,0,0,0,40,0,0,0,35,0,0,0,41,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,176,1,0,0,29,0,0,0,32,0,0,0,42,0,0,0,35,0,0,0,43,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,19,0,0,0,20,0,0,0,0,0,0,0,144,1,0,0,33,0,0,0,34,0,0,0,44,0,0,0,35,0,0,0,45,0,0,0,46,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,38,0,0,0,39,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,128,1,0,0,29,0,0,0,35,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,112,1,0,0,29,0,0,0,36,0,0,0,49,0,0,0,35,0,0,0,50,0,0,0,37,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,80,1,0,0,37,0,0,0,38,0,0,0,51,0,0,0,35,0,0,0,52,0,0,0,53,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,38,0,0,0,39,0,0,0,27,0,0,0,28,0,0,0,0,0,0,0,208,1,0,0,39,0,0,0,40,0,0,0,1,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,224,1,0,0,8,0,0,0,41,0,0,0,2,0,0,0,3,0,0,0,37,0,0,0,54,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,240,1,0,0,42,0,0,0,43,0,0,0,38,0,0,0,55,0,0,0,0,0,0,0,8,2,0,0,8,0,0,0,44,0,0,0,2,0,0,0,3,0,0,0,39,0,0,0,56,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,24,2,0,0,6,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,40,0,0,0,0,0,0,0,40,2,0,0,8,0,0,0,46,0,0,0,8,0,0,0,3,0,0,0,41,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,10,0,0,0,2,0,0,0,3,0,0,0,57,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,8,0,0,0,58,0,0,0,42,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,59,0,0,0,60,0,0,0,43,0,0,0,44,0,0,0,61,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,120,2,0,0,51,0,0,0,52,0,0,0,49,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,55,0,0,0,0,0,0,0,96,2,0,0,56,0,0,0,57,0,0,0,50,0,0,0,67,0,0,0,0,0,0,0,88,2,0,0,58,0,0,0,59,0,0,0,60,0,0,0,0,0,0,192,0,0,0,0,144,2,0,0,61,0,0,0,62,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,108,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,72,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,15,0,0,0,44,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,2,0,0,0,72,54,0,0,0,0,0,0,168,2,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,16,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,208,2,0,0,63,0,0,0,67,0,0,0,65,0,0,0,66,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,224,2,0,0,68,0,0,0,69,0,0,0,73,0,0,0,99,111,114,101,47,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,40,97,110,115,45,62,115,116,97,116,101,41,32,62,61,32,40,40,49,48,50,52,117,32,42,32,52,41,41,0,46,47,99,111,114,101,47,97,110,115,46,104,0,97,110,115,95,119,114,105,116,101,95,101,110,100,0,40,97,110,115,45,62,115,116,97,116,101,41,32,60,32,40,40,49,48,50,52,117,32,42,32,52,41,32,42,32,50,53,54,41,0,40,112,41,32,60,61,32,40,49,46,48,41,0,99,111,114,101,47,97,100,97,112,116,105,118,101,95,114,97,110,115,95,99,111,100,105,110,103,46,99,99,0,99,108,97,109,112,95,112,114,111,98,97,98,105,108,105,116,121,0,40,48,46,48,41,32,60,61,32,40,112,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,46,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,46,104,0,71,101,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,0,97,116,116,95,105,100,32,62,61,32,48,0,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,99,99,0,83,101,116,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,48,80,111,105,110,116,67,108,111,117,100,69,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,51,48,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,50,53,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,50,57,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,84,114,97,110,115,102,111,114,109,73,105,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,83,101,113,117,101,110,116,105,97,108,73,110,116,101,103,101,114,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,56,83,101,113,117,101,110,116,105,97,108,81,117,97,110,116,105,122,97,116,105,111,110,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,110,111,114,109,97,108,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,32,60,61,32,40,50,32,42,32,109,97,120,95,118,97,108,117,101,95,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,112,114,101,100,95,118,97,108,115,91,49,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,118,97,108,95,105,100,32,43,32,49,93,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,0,40,112,114,101,100,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,48,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,111,114,105,103,95,118,97,108,115,91,49,93,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,48,93,41,0,40,48,41,32,60,61,32,40,111,114,105,103,95,118,97,108,115,91,49,93,41,0,40,116,114,117,101,41,32,61,61,32,40,86,101,114,105,102,121,40,111,114,105,103,44,32,112,114,101,100,44,32,99,111,114,114,41,41,0,40,120,41,32,60,61,32,40,109,97,120,95,118,97,108,117,101,95,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,78,53,100,114,97,99,111,50,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,105,102,102,101,114,101,110,99,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,49,54,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,40,105,41,32,61,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,115,47,109,101,115,104,95,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,95,116,101,120,95,99,111,111,114,100,115,46,104,0,71,101,116,80,97,114,101,110,116,65,116,116,114,105,98,117,116,101,84,121,112,101,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,101,120,67,111,111,114,100,115,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,50,48,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,77,117,108,116,105,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,51,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,80,97,114,97,108,108,101,108,111,103,114,97,109,73,105,78,83,95,52,49,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,78,111,114,109,97,108,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,73,105,69,69,78,83,95,50,52,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,97,116,97,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,69,69,0,78,53,100,114,97,99,111,51,50,83,101,113,117,101,110,116,105,97,108,78,111,114,109,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,51,55,83,101,113,117,101,110,116,105,97,108,65,116,116,114,105,98,117,116,101,68,101,99,111,100,101,114,115,67,111,110,116,114,111,108,108,101,114,69,0,78,53,100,114,97,99,111,49,53,76,105,110,101,97,114,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,49,53,80,111,105,110,116,115,83,101,113,117,101,110,99,101,114,69,0,78,53,100,114,97,99,111,50,55,80,111,105,110,116,67,108,111,117,100,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,51,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,68,101,99,111,100,101,114,69,0,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,99,108,111,117,100,46,104,0,97,116,116,114,105,98,117,116,101,0,40,97,116,116,95,105,100,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,51,50,95,116,62,40,97,116,116,114,105,98,117,116,101,115,95,46,115,105,122,101,40,41,41,41,0,77,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,86,101,114,115,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,32,10,0,40,105,110,102,111,46,114,97,110,103,101,41,32,62,61,32,40,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,113,117,97,110,116,105,122,101,95,112,111,105,110,116,115,95,51,46,104,0,68,101,113,117,97,110,116,105,122,101,80,111,105,110,116,115,51,0,78,53,100,114,97,99,111,50,51,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,69,0,40,116,114,117,101,41,32,61,61,32,40,113,112,111,105,110,116,115,45,62,115,105,122,101,40,41,32,61,61,32,110,117,109,95,112,111,105,110,116,115,95,41,0,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,100,101,99,111,100,101,114,46,99,99,0,68,101,99,111,100,101,80,111,105,110,116,67,108,111,117,100,75,100,84,114,101,101,73,110,116,101,114,110,97,108,0,40,116,114,117,101,41,32,61,61,32,40,110,117,109,95,114,101,109,97,105,110,105,110,103,95,112,111,105,110,116,115,32,33,61,32,48,41,0,46,47,99,111,109,112,114,101,115,115,105,111,110,47,112,111,105,110,116,95,99,108,111,117,100,47,97,108,103,111,114,105,116,104,109,115,47,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,100,101,99,111,100,101,114,46,104,0,79,99,116,114,101,101,68,101,99,111,100,101,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,60,61,32,51,50,41,0,46,47,99,111,114,101,47,100,105,114,101,99,116,95,98,105,116,95,99,111,100,105,110,103,46,104,0,68,101,99,111,100,101,76,101,97,115,116,83,105,103,110,105,102,105,99,97,110,116,66,105,116,115,51,50,0,40,116,114,117,101,41,32,61,61,32,40,110,98,105,116,115,32,62,32,48,41,0,78,53,100,114,97,99,111,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,68,101,99,111,100,101,114,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,69,0,78],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,40,48,41,32,60,61,32,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,0,46,47,109,101,115,104,47,109,101,115,104,46,104,0,102,97,99,101,0,40,102,97,99,101,95,105,100,46,118,97,108,117,101,40,41,41,32,60,32,40,115,116,97,116,105,99,95,99,97,115,116,60,105,110,116,62,40,102,97,99,101,115,95,46,115,105,122,101,40,41,41,41,0,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,46,47,112,111,105,110,116,95,99,108,111,117,100,47,112,111,105,110,116,95,97,116,116,114,105,98,117,116,101,46,104,0,83,101,116,80,111,105,110,116,77,97,112,69,110,116,114,121,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,50,52,77,101,115,104,65,116,116,114,105,98,117,116,101,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,0,78,53,100,114,97,99,111,50,50,77,101,115,104,84,114,97,118,101,114,115,97,108,83,101,113,117,101,110,99,101,114,73,78,83,95,50,48,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,101,114,73,78,83,95,50,57,67,111,114,110,101,114,84,97,98,108,101,84,114,97,118,101,114,115,97,108,80,114,111,99,101,115,115,111,114,73,78,83,95,49,49,67,111,114,110,101,114,84,97,98,108,101,69,69,69,78,83,95,51,54,77,101,115,104,65,116,116,114,105,98,117,116,101,73,110,100,105,99,101,115,69,110,99,111,100,105,110,103,79,98,115,101,114,118,101,114,73,83,51,95,69,69,78,83,95,49,57,69,100,103,101,66,114,101,97,107,101,114,79,98,115,101,114,118,101,114,69,69,69,69,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,51,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,68,101,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,51,53,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,110,116,101,114,102,97,99,101,69,0,78,53,100,114,97,99,111,50,54,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,68,101,99,111,100,101,114,73,109,112,108,73,78,83,95,52,49,77,101,115,104,69,100,103,101,66,114,101,97,107,101,114,84,114,97,118,101,114,115,97,108,80,114,101,100,105,99,116,105,118,101,68,101,99,111,100,101,114,69,69,69,0,68,82,65,67,79,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,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,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,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,117,115,114,47,108,111,99,97,108,47,103,111,111,103,108,101,47,104,111,109,101,47,111,115,116,97,118,97,47,100,101,118,101,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,83,116,57,101,120,99,101,112,116,105,111,110,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,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,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,83,116,57,98,97,100,95,97,108,108,111,99,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,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,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;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 __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&&!info.rethrown){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}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>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,caught:false,rethrown:false};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_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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}function _abort(){Module["abort"]()}function ___cxa_begin_catch(ptr){var info=EXCEPTIONS.infos[ptr];if(info&&!info.caught){info.caught=true;__ZSt18uncaught_exceptionv.uncaught_exception--}if(info)info.rethrown=false;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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}}Module["_i64Add"]=_i64Add;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;var PTHREAD_SPECIFIC_NEXT_KEY=1;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 _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function ___gxx_personality_v0(){}Module["___uremdi3"]=___uremdi3;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>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>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 _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;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_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;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_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_v(index){try{Module["dynCall_v"](index)}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_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_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,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"_pthread_cleanup_push":_pthread_cleanup_push,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"_abort":_abort,"___setErrNo":___setErrNo,"___syscall6":___syscall6,"_pthread_once":_pthread_once,"___syscall146":___syscall146,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___gxx_personality_v0":___gxx_personality_v0,"___syscall140":___syscall140,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"___assert_fail":___assert_fail,"___cxa_pure_virtual":___cxa_pure_virtual,"___cxa_allocate_exception":___cxa_allocate_exception,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.DYNAMICTOP_PTR|0;var u=env.tempDoublePtr|0;var v=env.ABORT|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,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.max;var ca=global.Math.clz32;var da=env.abort;var ea=env.assert;var fa=env.enlargeMemory;var ga=env.getTotalMemory;var ha=env.abortOnCannotGrowMemory;var ia=env.invoke_iiii;var ja=env.invoke_viiiii;var ka=env.invoke_vi;var la=env.invoke_iiiiiii;var ma=env.invoke_ii;var na=env.invoke_viii;var oa=env.invoke_v;var pa=env.invoke_viiiiii;var qa=env.invoke_iii;var ra=env.invoke_viiii;var sa=env._pthread_cleanup_pop;var ta=env._pthread_getspecific;var ua=env._pthread_setspecific;var va=env._pthread_cleanup_push;var wa=env.___cxa_throw;var xa=env._pthread_key_create;var ya=env._abort;var za=env.___setErrNo;var Aa=env.___syscall6;var Ba=env._pthread_once;var Ca=env.___syscall146;var Da=env.___cxa_begin_catch;var Ea=env._emscripten_memcpy_big;var Fa=env.___gxx_personality_v0;var Ga=env.___syscall140;var Ha=env.___resumeException;var Ia=env.___cxa_find_matching_catch;var Ja=env.___assert_fail;var Ka=env.___cxa_pure_virtual;var La=env.___cxa_allocate_exception;var Ma=env.__ZSt18uncaught_exceptionv;var Na=0;function Oa(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} -// EMSCRIPTEN_START_FUNCS -function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0,n=0.0,p=0,q=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;K=r;r=r+48|0;J=K+20|0;E=K;I=K+8|0;F=J+16|0;k[J>>2]=0;k[J+4>>2]=0;k[J+8>>2]=0;k[J+12>>2]=0;o[F>>2]=1.0;H=a+80|0;Nh(I,k[H>>2]|0);e=k[H>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=J+4|0;y=J+12|0;z=J+8|0;A=a+40|0;B=a+64|0;u=k[c>>2]|0;c=0;t=0;p=0;while(1){q=u+c|0;j=v;h=k[j>>2]|0;j=k[j+4>>2]|0;s=w;s=_i(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;j=Vj(s|0,M|0,h|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;s=E;k[s>>2]=h;k[s+4>>2]=j;s=(h^318)+239^j;q=(p|0)==0;b:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)g=s&f;else g=(s>>>0)%(p>>>0)|0;e=k[(k[J>>2]|0)+(g<<2)>>2]|0;do if(e|0?(C=k[e>>2]|0,C|0):0){c:do if(d){d=C;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=C;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(g|0)){e=20;break c}if((k[d+8>>2]|0)==(h|0)?(k[d+12>>2]|0)==(j|0):0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[I>>2]|0)+(c<<2)>>2]=k[d+16>>2];d=t;break b}else if((e|0)==20)if(q){d=0;e=35;break b}else break}while(0);g=p+-1|0;f=(g&p|0)==0;if(f)d=g&s;else d=(s>>>0)%(p>>>0)|0;e=k[(k[J>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(D=k[e>>2]|0,(D|0)!=0):0)if(f){e=D;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=D;while(1){if((((k[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){e=35;break b}if((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=bj(20)|0;f=g+8|0;k[f>>2]=h;k[f+4>>2]=j;k[g+16>>2]=t;k[g+4>>2]=s;k[g>>2]=0;m=+(((k[y>>2]|0)+1|0)>>>0);n=+o[F>>2];do if(q|m>+(p>>>0)*n){d=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;e=~~+_(+(m/n))>>>0;Sf(J,d>>>0>>0?e:d);d=k[x>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=p;while(0);d=(k[J>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[z>>2];k[z>>2]=g;k[d>>2]=z;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[J>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[y>>2]=(k[y>>2]|0)+1;e=47}if((e|0)==47){s=A;d=k[s>>2]|0;s=_i(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ah((k[k[B>>2]>>2]|0)+s|0,E|0,d|0)|0;k[(k[I>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[H>>2]|0;if((c|0)>=(e|0)){p=d;break a}t=d;p=k[x>>2]|0}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[I>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(G=g+(e<<2)|0,(h|0)!=(G|0)):0)k[d>>2]=h+(~((h+-4-G|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[H>>2]|0}if((e|0)>0){f=k[I>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[H>>2]=p}e=k[I>>2]|0;f=e;if(e|0){c=I+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[J+8>>2]|0;if(c|0)do{I=c;c=k[c>>2]|0;Fl(I)}while((c|0)!=0);c=k[J>>2]|0;k[J>>2]=0;if(!c){r=K;return p|0}Fl(c);r=K;return p|0}function Gb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;H=a+8|0;k[H>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;A=1-g+f|0;k[a+20>>2]=A;f=(A|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(A&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;A=Cl(o)|0;Jh(A|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;i=k[p>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+64|0;y=o+28|0;z=(e|0)>0;m=f>>2;f=i;while(1){n=m+-1|0;if(h-g>>2>>>0<=n>>>0)break;f=k[g+(n<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[o>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(B=k[(k[(k[x>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(B|0)>-1):0){h=k[y>>2]|0;d=k[q>>2]|0;f=k[d+(k[h+(B<<2)>>2]<<2)>>2]|0;g=B+1|0;g=k[d+(k[h+((((g|0)%3|0|0)==0?B+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0;d=$(n,e)|0;if((f|0)<(n|0)&(g|0)<(n|0)&(h|0)<(n|0)){j=$(f,e)|0;i=$(g,e)|0;g=$(h,e)|0;if(z){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+i<<2)>>2]|0)-(k[b+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[H>>2]|0)>0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}}else{D=d;F=26}}else{D=$(n,e)|0;F=26}if((F|0)==26?(F=0,C=b+(D<<2)|0,E=b+(($(m+-2|0,e)|0)<<2)|0,(k[H>>2]|0)>0):0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+D<<2)>>2]=(k[C+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+D<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[H>>2]|0))}}}if((n|0)<=1){G=A;break a}f=k[p>>2]|0;m=n;g=k[f>>2]|0;h=k[f+4>>2]|0}Jk(f)}else G=A;while(0);if((e|0)>0)Jh(A|0,0,e<<2|0)|0;if((k[H>>2]|0)<=0){Dl(A);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[G+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[H>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{Dl(A);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[H>>2]|0}while((f|0)<(g|0));if((g|0)<=0){Dl(A);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[H>>2]|0));Dl(A);return 1}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0.0,p=0.0,q=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,N=0;N=r;r=r+48|0;L=N+16|0;G=N+12|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=1.0;J=a+80|0;Nh(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;w=k[c>>2]|0;c=0;v=0;s=0;while(1){m=w+c|0;q=x;h=k[q>>2]|0;q=k[q+4>>2]|0;u=y;u=_i(m|0,((m|0)<0)<<31>>31|0,k[u>>2]|0,k[u+4>>2]|0)|0;q=Vj(u|0,M|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;k[G>>2]=q;h=q&65535;u=q>>>16;m=u&65535;u=(q&65535^318)+239^u;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=u&f;else g=(u>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=20;break c}if((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=v;break b}else if((e|0)==20)if(t){d=0;e=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&u;else d=(u>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){e=35;break b}if((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==m<<16>>16:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=bj(16)|0;m=g+8|0;j[m>>1]=q;j[m+2>>1]=q>>>16;k[g+12>>2]=v;k[g+4>>2]=u;k[g>>2]=0;n=+(((k[A>>2]|0)+1|0)>>>0);p=+o[H>>2];do if(t|n>+(s>>>0)*p){d=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~+_(+(n/p))>>>0;Of(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&u;break}else{f=d;d=(u>>>0)%(d>>>0)|0;break}}else f=s;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=47}if((e|0)==47){u=C;d=k[u>>2]|0;u=_i(d|0,k[u+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Ah((k[k[D>>2]>>2]|0)+u|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=v;d=v+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){q=d;break a}v=d;s=k[z>>2]|0}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[m>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=q}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;Fl(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return q|0}Fl(c);r=N;return q|0}function Ib(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;C=a+8|0;k[C>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{kg(h,e-d|0);d=k[C>>2]|0}A=e>>>0>1073741823?-1:e<<2;B=Cl(A)|0;Jh(B|0,0,A|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[B+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[C>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[C>>2]|0))}}}t=k[a+48>>2]|0;u=a+56|0;f=k[u>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;A=h-g|0;v=A>>2;if((A|0)<=4){Dl(B);return 1}w=k[a+52>>2]|0;x=(e|0)>0;y=a+16|0;z=a+32|0;A=a+12|0;q=a+20|0;r=t+12|0;s=e<<2;d=1;while(1){if(h-g>>2>>>0<=d>>>0){G=28;break}p=k[g+(d<<2)>>2]|0;if(x)Jh(B|0,0,s|0)|0;if((p|0)>-1){o=k[r>>2]|0;a=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[t>>2]|0;h=(g>>>0)%3|0;j=k[w>>2]|0;m=k[j+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){i=$(m,e)|0;h=$(l,e)|0;g=$(f,e)|0;if(x){f=0;do{m=B+(f<<2)|0;k[m>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0)+(k[m>>2]|0);f=f+1|0}while((f|0)!=(e|0))}g=a+1|0}else g=a}else g=a;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else a=g}l=$(d,e)|0;if(g){if(x){f=0;do{p=B+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}m=c+(l<<2)|0;if((k[C>>2]|0)>0){j=0;do{i=k[B+(j<<2)>>2]|0;f=k[y>>2]|0;do if((i|0)<=(f|0)){f=k[A>>2]|0;g=k[z>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[z>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[C>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[C>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=m+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[y>>2]|0)){if((h|0)<(k[A>>2]|0))k[g>>2]=(k[q>>2]|0)+h}else k[g>>2]=h-(k[q>>2]|0);f=f+1|0}while((f|0)<(k[C>>2]|0))}}}}else{F=l;G=50}}else{F=$(d,e)|0;G=50}if((G|0)==50?(G=0,D=c+(($(d+-1|0,e)|0)<<2)|0,E=c+(F<<2)|0,(k[C>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[y>>2]|0;do if((i|0)<=(f|0)){f=k[A>>2]|0;g=k[z>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[z>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[C>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[E+(f<<2)>>2]=(k[b+(f+F<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[C>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=E+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[y>>2]|0)){if((h|0)<(k[A>>2]|0))k[g>>2]=(k[q>>2]|0)+h}else k[g>>2]=h-(k[q>>2]|0);f=f+1|0}while((f|0)<(k[C>>2]|0))}}}d=d+1|0;if((d|0)>=(v|0)){G=25;break}f=k[u>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}if((G|0)==25){Dl(B);return 1}else if((G|0)==28)Jk(f);return 0}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0.0,p=0.0,q=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,N=0;N=r;r=r+48|0;L=N+12|0;G=N+32|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=1.0;J=a+80|0;Nh(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;w=k[c>>2]|0;c=0;v=0;s=0;while(1){m=w+c|0;q=x;h=k[q>>2]|0;q=k[q+4>>2]|0;u=y;u=_i(m|0,((m|0)<0)<<31>>31|0,k[u>>2]|0,k[u+4>>2]|0)|0;q=Vj(u|0,M|0,h|0,q|0)|0;q=(k[k[b>>2]>>2]|0)+q|0;q=l[q>>0]|l[q+1>>0]<<8;j[G>>1]=q;h=q&255;u=(q&65535)>>>8;m=u&255;u=(q&255^318)+239^u&65535;t=(s|0)==0;b:do if(!t){f=s+-1|0;d=(f&s|0)==0;if(d)g=u&f;else g=(u>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=20;break c}if((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==m<<24>>24:0){e=19;break c}d=k[d>>2]|0;if(!d){e=20;break}}}while(0);if((e|0)==19){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=v;break b}else if((e|0)==20)if(t){d=0;e=35;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)d=g&u;else d=(u>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(d|0)){e=35;break b}if((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==m<<24>>24:0){e=47;break b}e=k[e>>2]|0;if(!e){e=35;break}}}else e=35}else{d=0;e=35}while(0);if((e|0)==35){g=bj(16)|0;m=g+8|0;i[m>>0]=q;i[m+1>>0]=q>>8;k[g+12>>2]=v;k[g+4>>2]=u;k[g>>2]=0;n=+(((k[A>>2]|0)+1|0)>>>0);p=+o[H>>2];do if(t|n>+(s>>>0)*p){d=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~+_(+(n/p))>>>0;Vf(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&u;break}else{f=d;d=(u>>>0)%(d>>>0)|0;break}}else f=s;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=47}if((e|0)==47){u=C;d=k[u>>2]|0;u=_i(d|0,k[u+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Ah((k[k[D>>2]>>2]|0)+u|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=v;d=v+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){q=d;break a}v=d;s=k[z>>2]|0}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[m>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=q}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;Fl(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return q|0}Fl(c);r=N;return q|0}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0.0,p=0.0,q=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,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=r;r=r+48|0;S=T+28|0;K=T+8|0;L=T;R=T+16|0;N=S+16|0;k[S>>2]=0;k[S+4>>2]=0;k[S+8>>2]=0;k[S+12>>2]=0;o[N>>2]=1.0;Q=a+80|0;Nh(R,k[Q>>2]|0);e=k[Q>>2]|0;if((e|0)>0){B=k[c>>2]|0;C=b+48|0;D=b+40|0;E=S+4|0;F=S+12|0;G=S+8|0;H=a+40|0;I=a+64|0;A=0;z=0;while(1){w=B+A|0;y=C;x=k[y>>2]|0;y=k[y+4>>2]|0;c=D;c=_i(w|0,((w|0)<0)<<31>>31|0,k[c>>2]|0,k[c+4>>2]|0)|0;y=Vj(c|0,M|0,x|0,y|0)|0;y=(k[k[b>>2]>>2]|0)+y|0;x=y;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=y+4|0;y=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;c=K;k[c>>2]=x;k[c+4>>2]=y;c=L;k[c>>2]=x;k[c+4>>2]=y;c=Ke(S,L)|0;if(!c){u=L;t=k[u>>2]|0;u=k[u+4>>2]|0;h=t&65535;y=Aj(t|0,u|0,16)|0;m=y&65535;q=u&65535;v=Aj(t|0,u|0,48)|0;w=M;s=v&65535;y=(((t&65535^318)+239^y&65535)+239^u&65535)+239^v;e=k[E>>2]|0;x=(e|0)==0;a:do if(!x){g=e+-1|0;d=(g&e|0)==0;if(d)c=y&g;else c=(y>>>0)%(e>>>0)|0;f=k[(k[S>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(J=k[f>>2]|0,(J|0)!=0):0)if(d){d=J;while(1){if((k[d+4>>2]&g|0)!=(c|0)){O=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==s<<16>>16:0)break a;d=k[d>>2]|0;if(!d){O=25;break}}}else{d=J;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){O=25;break a}if((((j[d+8>>1]|0)==h<<16>>16?(j[d+10>>1]|0)==m<<16>>16:0)?(j[d+12>>1]|0)==q<<16>>16:0)?(j[d+14>>1]|0)==s<<16>>16:0)break a;d=k[d>>2]|0;if(!d){O=25;break}}}else O=25}else{c=0;O=25}while(0);if((O|0)==25){O=0;f=bj(20)|0;v=vj(v|0,w|0,48)|0;t=t|v;v=u&65535|M;w=f+8|0;u=w;j[u>>1]=t;j[u+2>>1]=t>>>16;w=w+4|0;j[w>>1]=v;j[w+2>>1]=v>>>16;k[f+16>>2]=z;k[f+4>>2]=y;k[f>>2]=0;n=+(((k[F>>2]|0)+1|0)>>>0);p=+o[N>>2];do if(x|n>+(e>>>0)*p){c=(e>>>0>2&(e+-1&e|0)==0&1|e<<1)^1;d=~~+_(+(n/p))>>>0;Mf(S,c>>>0>>0?d:c);c=k[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&y;break}else{e=c;c=(y>>>0)%(c>>>0)|0;break}}while(0);c=(k[S>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[G>>2];k[G>>2]=f;k[c>>2]=G;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[S>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[F>>2]=(k[F>>2]|0)+1}y=H;c=k[y>>2]|0;y=_i(c|0,k[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Ah((k[k[I>>2]>>2]|0)+y|0,K|0,c|0)|0;k[(k[R>>2]|0)+(A<<2)>>2]=z;c=z+1|0}else{k[(k[R>>2]|0)+(A<<2)>>2]=k[c+16>>2];c=z}A=A+1|0;e=k[Q>>2]|0;if((A|0)>=(e|0)){q=c;break}else z=c}}else q=0;if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[R>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(P=g+(e<<2)|0,(h|0)!=(P|0)):0)k[d>>2]=h+(~((h+-4-P|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[Q>>2]|0}if((e|0)>0){f=k[R>>2]|0;if(i[m>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[Q>>2]=q}e=k[R>>2]|0;f=e;if(e|0){c=R+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[S+8>>2]|0;if(c|0)do{R=c;c=k[c>>2]|0;Fl(R)}while((c|0)!=0);c=k[S>>2]|0;k[S>>2]=0;if(!c){r=T;return q|0}Fl(c);r=T;return q|0}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0,n=0.0,p=0,q=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,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+48|0;R=S+20|0;J=S+16|0;K=S+12|0;Q=S;L=R+16|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;o[L>>2]=1.0;P=a+80|0;Nh(Q,k[P>>2]|0);e=k[P>>2]|0;if((e|0)>0){A=k[c>>2]|0;B=b+48|0;C=b+40|0;D=R+4|0;E=R+12|0;F=R+8|0;G=a+40|0;H=a+64|0;z=0;y=0;while(1){v=A+z|0;c=B;x=k[c>>2]|0;c=k[c+4>>2]|0;w=C;w=_i(v|0,((v|0)<0)<<31>>31|0,k[w>>2]|0,k[w+4>>2]|0)|0;c=Vj(w|0,M|0,x|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;k[J>>2]=c;k[K>>2]=c;c=Oe(R,K)|0;if(!c){t=k[K>>2]|0;h=t&255;u=t>>>8;j=u&255;v=t>>>16;p=v&255;s=t>>>24;q=s&255;t=t&255;u=u&255;v=v&255;x=(((t^318)+239^u)+239^v)+239^s;e=k[D>>2]|0;w=(e|0)==0;a:do if(!w){g=e+-1|0;d=(g&e|0)==0;if(d)c=x&g;else c=(x>>>0)%(e>>>0)|0;f=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(I=k[f>>2]|0,(I|0)!=0):0)if(d){d=I;while(1){if((k[d+4>>2]&g|0)!=(c|0)){N=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){N=25;break}}}else{d=I;while(1){if((((k[d+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(c|0)){N=25;break a}if((((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==p<<24>>24:0)?(i[d+11>>0]|0)==q<<24>>24:0)break a;d=k[d>>2]|0;if(!d){N=25;break}}}else N=25}else{c=0;N=25}while(0);if((N|0)==25){N=0;f=bj(16)|0;q=f+8|0;v=s<<24|t|v<<16|u<<8;i[q>>0]=v;i[q+1>>0]=v>>8;i[q+2>>0]=v>>16;i[q+3>>0]=v>>24;k[f+12>>2]=y;k[f+4>>2]=x;k[f>>2]=0;m=+(((k[E>>2]|0)+1|0)>>>0);n=+o[L>>2];do if(w|m>+(e>>>0)*n){c=(e>>>0>2&(e+-1&e|0)==0&1|e<<1)^1;d=~~+_(+(m/n))>>>0;Tf(R,c>>>0>>0?d:c);c=k[D>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&x;break}else{e=c;c=(x>>>0)%(c>>>0)|0;break}}while(0);c=(k[R>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[F>>2];k[F>>2]=f;k[c>>2]=F;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[R>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[E>>2]=(k[E>>2]|0)+1}x=G;c=k[x>>2]|0;x=_i(c|0,k[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Ah((k[k[H>>2]>>2]|0)+x|0,J|0,c|0)|0;k[(k[Q>>2]|0)+(z<<2)>>2]=y;c=y+1|0}else{k[(k[Q>>2]|0)+(z<<2)>>2]=k[c+12>>2];c=y}z=z+1|0;e=k[P>>2]|0;if((z|0)>=(e|0)){p=c;break}else y=c}}else p=0;if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[Q>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(O=g+(e<<2)|0,(h|0)!=(O|0)):0)k[d>>2]=h+(~((h+-4-O|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[P>>2]|0}if((e|0)>0){f=k[Q>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[P>>2]=p}e=k[Q>>2]|0;f=e;if(e|0){c=Q+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[R+8>>2]|0;if(c|0)do{Q=c;c=k[c>>2]|0;Fl(Q)}while((c|0)!=0);c=k[R>>2]|0;k[R>>2]=0;if(!c){r=S;return p|0}Fl(c);r=S;return p|0}function Mb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=a+8|0;d=k[o>>2]|0;switch(k[d+28>>2]|0){case 2:{c=i[d+24>>0]|0;l=c<<24>>24;h=Cl((l|0)>-1?l:-1)|0;a:do if(b|0){g=a+16|0;if(c<<24>>24>0){a=0;d=0}else{Ah(k[k[d+64>>2]>>2]|0,h|0,l|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+l|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,h|0,l|0)|0;a=a+1|0;if((a|0)==(b|0))break a}}while(1){f=k[g>>2]|0;c=0;e=d;while(1){i[h+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else e=e+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,h|0,l|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+l|0}}while(0);Dl(h);o=1;return o|0}case 1:{c=i[d+24>>0]|0;h=c<<24>>24;l=Cl((h|0)>-1?h:-1)|0;b:do if(b|0){g=a+16|0;if(c<<24>>24>0){a=0;d=0}else{Ah(k[k[d+64>>2]>>2]|0,l|0,h|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+h|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,l|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break b}}while(1){f=k[g>>2]|0;c=0;e=d;while(1){i[l+c>>0]=k[f+(e<<2)>>2];c=c+1|0;if((c|0)==(h|0))break;else e=e+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,l|0,h|0)|0;a=a+1|0;if((a|0)==(b|0))break;else d=d+h|0}}while(0);Dl(l);o=1;return o|0}case 4:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=Cl(l>>>0>2147483647?-1:l<<1)|0;c:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ah(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break c}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){j[n+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);Dl(n);o=1;return o|0}case 3:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<1;n=Cl(l>>>0>2147483647?-1:l<<1)|0;d:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ah(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break d}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){j[n+(c<<1)>>1]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);Dl(n);o=1;return o|0}case 6:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=Cl(l>>>0>1073741823?-1:l<<2)|0;e:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ah(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break e}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){k[n+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);Dl(n);o=1;return o|0}case 5:{c=i[d+24>>0]|0;l=c<<24>>24;m=l<<2;n=Cl(l>>>0>1073741823?-1:l<<2)|0;f:do if(b|0){h=a+16|0;if(c<<24>>24>0){a=0;d=0;e=0}else{Ah(k[k[d+64>>2]>>2]|0,n|0,m|0)|0;if((b|0)==1)break;else{c=0;a=1}while(1){c=c+m|0;Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+c|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break f}}while(1){g=k[h>>2]|0;c=0;f=e;while(1){k[n+(c<<2)>>2]=k[g+(f<<2)>>2];c=c+1|0;if((c|0)==(l|0))break;else f=f+1|0}Ah((k[k[(k[o>>2]|0)+64>>2]>>2]|0)+d|0,n|0,m|0)|0;a=a+1|0;if((a|0)==(b|0))break;else{d=d+m|0;e=e+l|0}}}while(0);Dl(n);o=1;return o|0}default:{o=0;return o|0}}return 0}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0.0,p=0.0,q=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;J=r;r=r+48|0;I=J+12|0;D=J+32|0;H=J;E=I+16|0;k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;k[I+12>>2]=0;o[E>>2]=1.0;G=a+80|0;Nh(H,k[G>>2]|0);e=k[G>>2]|0;a:do if((e|0)>0){w=b+48|0;x=b+40|0;y=I+4|0;z=I+12|0;A=I+8|0;B=a+40|0;C=a+64|0;v=k[c>>2]|0;h=0;u=0;t=0;while(1){f=v+u|0;m=w;s=k[m>>2]|0;m=k[m+4>>2]|0;g=x;g=_i(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;m=Vj(g|0,M|0,s|0,m|0)|0;m=(k[k[b>>2]>>2]|0)+m|0;m=l[m>>0]|l[m+1>>0]<<8;j[D>>1]=m;s=m&65535^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&s;else d=(s>>>0)%(h>>>0)|0;e=k[I>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((j[c+8>>1]|0)!=m<<16>>16);k[(k[H>>2]|0)+(u<<2)>>2]=k[c+12>>2];d=t;break b}while(0);if(f)c=g&s;else c=(s>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;q=28;break b}if((j[d+8>>1]|0)==m<<16>>16){q=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;q=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;q=28;break b}if((j[d+8>>1]|0)==m<<16>>16){q=40;break}}else{d=h;e=0;q=28}}else{c=0;d=0;e=1;q=28}while(0);if((q|0)==28){f=bj(16)|0;j[f+8>>1]=m;k[f+12>>2]=t;k[f+4>>2]=s;k[f>>2]=0;n=+(((k[z>>2]|0)+1|0)>>>0);p=+o[E>>2];do if(e|n>+(d>>>0)*p){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~+_(+(n/p))>>>0;Pf(I,c>>>0>>0?d:c);c=k[y>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&s;break}else{e=c;c=(s>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[I>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[A>>2];k[A>>2]=f;k[c>>2]=A;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[I>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[z>>2]=(k[z>>2]|0)+1;q=40}if((q|0)==40){q=0;s=B;d=k[s>>2]|0;s=_i(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ah((k[k[C>>2]>>2]|0)+s|0,D|0,d|0)|0;k[(k[H>>2]|0)+(u<<2)>>2]=t;d=t+1|0}c=u+1|0;e=k[G>>2]|0;if((c|0)>=(e|0)){q=d;break a}h=k[y>>2]|0;u=c;t=d}}else q=0;while(0);if((q|0)!=(e|0)){m=a+84|0;if(!(i[m>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[H>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[m>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(F=g+(e<<2)|0,(h|0)!=(F|0)):0)k[d>>2]=h+(~((h+-4-F|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[G>>2]|0}if((e|0)>0){f=k[H>>2]|0;if(i[m>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[G>>2]=q}e=k[H>>2]|0;f=e;if(e|0){c=H+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[I+8>>2]|0;if(c|0)do{H=c;c=k[c>>2]|0;Fl(H)}while((c|0)!=0);c=k[I>>2]|0;k[I>>2]=0;if(!c){r=J;return q|0}Fl(c);r=J;return q|0}function Ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0.0,n=0.0,p=0,q=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;I=r;r=r+48|0;H=I+16|0;C=I+12|0;G=I;D=H+16|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;k[H+12>>2]=0;o[D>>2]=1.0;F=a+80|0;Nh(G,k[F>>2]|0);e=k[F>>2]|0;a:do if((e|0)>0){v=b+48|0;w=b+40|0;x=H+4|0;y=H+12|0;z=H+8|0;A=a+40|0;B=a+64|0;u=k[c>>2]|0;h=0;t=0;s=0;while(1){f=u+t|0;j=v;q=k[j>>2]|0;j=k[j+4>>2]|0;g=w;g=_i(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Vj(g|0,M|0,q|0,j|0)|0;j=(k[k[b>>2]>>2]|0)+j|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[C>>2]=j;q=j^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&q;else d=(q>>>0)%(h>>>0)|0;e=k[H>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((k[c+8>>2]|0)!=(j|0));k[(k[G>>2]|0)+(t<<2)>>2]=k[c+12>>2];d=s;break b}while(0);if(f)c=g&q;else c=(q>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;p=28;break b}if((k[d+8>>2]|0)==(j|0)){p=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;p=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;p=28;break b}if((k[d+8>>2]|0)==(j|0)){p=40;break}}else{d=h;e=0;p=28}}else{c=0;d=0;e=1;p=28}while(0);if((p|0)==28){f=bj(16)|0;k[f+8>>2]=j;k[f+12>>2]=s;k[f+4>>2]=q;k[f>>2]=0;m=+(((k[y>>2]|0)+1|0)>>>0);n=+o[D>>2];do if(e|m>+(d>>>0)*n){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~+_(+(m/n))>>>0;bg(H,c>>>0>>0?d:c);c=k[x>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&q;break}else{e=c;c=(q>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[H>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[z>>2];k[z>>2]=f;k[c>>2]=z;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[H>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[y>>2]=(k[y>>2]|0)+1;p=40}if((p|0)==40){p=0;q=A;d=k[q>>2]|0;q=_i(d|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Ah((k[k[B>>2]>>2]|0)+q|0,C|0,d|0)|0;k[(k[G>>2]|0)+(t<<2)>>2]=s;d=s+1|0}c=t+1|0;e=k[F>>2]|0;if((c|0)>=(e|0)){p=d;break a}h=k[x>>2]|0;t=c;s=d}}else p=0;while(0);if((p|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[G>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(E=g+(e<<2)|0,(h|0)!=(E|0)):0)k[d>>2]=h+(~((h+-4-E|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[F>>2]|0}if((e|0)>0){f=k[G>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[F>>2]=p}e=k[G>>2]|0;f=e;if(e|0){c=G+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[H+8>>2]|0;if(c|0)do{G=c;c=k[c>>2]|0;Fl(G)}while((c|0)!=0);c=k[H>>2]|0;k[H>>2]=0;if(!c){r=I;return p|0}Fl(c);r=I;return p|0}function Pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0,n=0.0,p=0,q=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,N=0,O=0,P=0,Q=0;Q=r;r=r+80|0;P=Q+48|0;H=Q+32|0;I=Q+16|0;O=Q;J=P+16|0;k[P>>2]=0;k[P+4>>2]=0;k[P+8>>2]=0;k[P+12>>2]=0;o[J>>2]=1.0;N=a+80|0;Nh(O,k[N>>2]|0);e=k[N>>2]|0;if((e|0)>0){y=k[c>>2]|0;z=b+48|0;A=b+40|0;v=I+4|0;w=I+8|0;x=I+12|0;B=P+4|0;C=P+12|0;D=P+8|0;E=a+40|0;F=a+64|0;t=0;u=0;while(1){e=y+u|0;c=z;d=k[c>>2]|0;c=k[c+4>>2]|0;f=A;e=_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c=Vj(e|0,M|0,d|0,c|0)|0;c=(k[k[b>>2]>>2]|0)+c|0;d=H;e=c;f=d+16|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));zi(I|0,c|0,16)|0;c=Qe(P,I)|0;if(!c){g=k[I>>2]|0;h=k[v>>2]|0;j=k[w>>2]|0;l=k[x>>2]|0;s=(((g^318)+239^h)+239^j)+239^l;p=k[B>>2]|0;q=(p|0)==0;a:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)c=s&f;else c=(s>>>0)%(p>>>0)|0;e=k[(k[P>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(d){d=G;while(1){if((k[d+4>>2]&f|0)!=(c|0)){K=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){K=25;break}}}else{d=G;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(c|0)){K=25;break a}if((((k[d+8>>2]|0)==(g|0)?(k[d+12>>2]|0)==(h|0):0)?(k[d+16>>2]|0)==(j|0):0)?(k[d+20>>2]|0)==(l|0):0)break a;d=k[d>>2]|0;if(!d){K=25;break}}}else K=25}else{c=0;K=25}while(0);if((K|0)==25){K=0;f=bj(28)|0;k[f+8>>2]=g;k[f+12>>2]=h;k[f+16>>2]=j;k[f+20>>2]=l;k[f+24>>2]=t;k[f+4>>2]=s;k[f>>2]=0;m=+(((k[C>>2]|0)+1|0)>>>0);n=+o[J>>2];do if(q|m>+(p>>>0)*n){c=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;d=~~+_(+(m/n))>>>0;Qf(P,c>>>0>>0?d:c);c=k[B>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&s;break}else{e=c;c=(s>>>0)%(c>>>0)|0;break}}else e=p;while(0);c=(k[P>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[D>>2];k[D>>2]=f;k[c>>2]=D;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[P>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[C>>2]=(k[C>>2]|0)+1}s=E;c=k[s>>2]|0;s=_i(c|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ah((k[k[F>>2]>>2]|0)+s|0,H|0,c|0)|0;k[(k[O>>2]|0)+(u<<2)>>2]=t;c=t+1|0}else{k[(k[O>>2]|0)+(u<<2)>>2]=k[c+24>>2];c=t}u=u+1|0;e=k[N>>2]|0;if((u|0)>=(e|0)){l=c;break}else t=c}}else l=0;if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[O>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(L=g+(e<<2)|0,(h|0)!=(L|0)):0)k[d>>2]=h+(~((h+-4-L|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[N>>2]|0}if((e|0)>0){f=k[O>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[N>>2]=l}e=k[O>>2]|0;f=e;if(e|0){c=O+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[P+8>>2]|0;if(c|0)do{O=c;c=k[c>>2]|0;Fl(O)}while((c|0)!=0);c=k[P>>2]|0;k[P>>2]=0;if(!c){r=Q;return l|0}Fl(c);r=Q;return l|0}function Qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0.0,m=0.0,n=0,p=0,q=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;H=r;r=r+48|0;G=H+12|0;B=H+32|0;F=H;C=G+16|0;k[G>>2]=0;k[G+4>>2]=0;k[G+8>>2]=0;k[G+12>>2]=0;o[C>>2]=1.0;E=a+80|0;Nh(F,k[E>>2]|0);e=k[E>>2]|0;a:do if((e|0)>0){u=b+48|0;v=b+40|0;w=G+4|0;x=G+12|0;y=G+8|0;z=a+40|0;A=a+64|0;t=k[c>>2]|0;h=0;s=0;q=0;while(1){f=t+s|0;j=u;p=k[j>>2]|0;j=k[j+4>>2]|0;g=v;g=_i(f|0,((f|0)<0)<<31>>31|0,k[g>>2]|0,k[g+4>>2]|0)|0;j=Vj(g|0,M|0,p|0,j|0)|0;j=i[(k[k[b>>2]>>2]|0)+j>>0]|0;i[B>>0]=j;p=j&255^318;b:do if(h){g=h+-1|0;f=(g&h|0)==0;if(f)d=g&p;else d=(p>>>0)%(h>>>0)|0;e=k[G>>2]|0;c=k[e+(d<<2)>>2]|0;c:do if(c|0){if(f)do{c=k[c>>2]|0;if(!c)break c;if((k[c+4>>2]&g|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);else do{c=k[c>>2]|0;if(!c)break c;if((((k[c+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(d|0))break c}while((i[c+8>>0]|0)!=j<<24>>24);k[(k[F>>2]|0)+(s<<2)>>2]=k[c+12>>2];d=q;break b}while(0);if(f)c=g&p;else c=(p>>>0)%(h>>>0)|0;d=k[e+(c<<2)>>2]|0;if(d)if(f)while(1){d=k[d>>2]|0;if(!d){d=h;e=0;n=28;break b}if((k[d+4>>2]&g|0)!=(c|0)){d=h;e=0;n=28;break b}if((i[d+8>>0]|0)==j<<24>>24){n=40;break}}else while(1){d=k[d>>2]|0;if(!d){d=h;e=0;n=28;break b}if((((k[d+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(c|0)){d=h;e=0;n=28;break b}if((i[d+8>>0]|0)==j<<24>>24){n=40;break}}else{d=h;e=0;n=28}}else{c=0;d=0;e=1;n=28}while(0);if((n|0)==28){f=bj(16)|0;i[f+8>>0]=j;k[f+12>>2]=q;k[f+4>>2]=p;k[f>>2]=0;l=+(((k[x>>2]|0)+1|0)>>>0);m=+o[C>>2];do if(e|l>+(d>>>0)*m){c=(d>>>0>2&(d+-1&d|0)==0&1|d<<1)^1;d=~~+_(+(l/m))>>>0;Wf(G,c>>>0>>0?d:c);c=k[w>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&p;break}else{e=c;c=(p>>>0)%(c>>>0)|0;break}}else e=d;while(0);c=(k[G>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[f>>2]=k[y>>2];k[y>>2]=f;k[c>>2]=y;c=k[f>>2]|0;if(c|0){c=k[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;k[(k[G>>2]|0)+(c<<2)>>2]=f}}else{k[f>>2]=k[d>>2];k[d>>2]=f}k[x>>2]=(k[x>>2]|0)+1;n=40}if((n|0)==40){n=0;p=z;d=k[p>>2]|0;p=_i(d|0,k[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Ah((k[k[A>>2]>>2]|0)+p|0,B|0,d|0)|0;k[(k[F>>2]|0)+(s<<2)>>2]=q;d=q+1|0}c=s+1|0;e=k[E>>2]|0;if((c|0)>=(e|0)){n=d;break a}h=k[w>>2]|0;s=c;q=d}}else n=0;while(0);if((n|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[F>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(D=g+(e<<2)|0,(h|0)!=(D|0)):0)k[d>>2]=h+(~((h+-4-D|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[E>>2]|0}if((e|0)>0){f=k[F>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[E>>2]=n}e=k[F>>2]|0;f=e;if(e|0){c=F+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[G+8>>2]|0;if(c|0)do{F=c;c=k[c>>2]|0;Fl(F)}while((c|0)!=0);c=k[G>>2]|0;k[G>>2]=0;if(!c){r=H;return n|0}Fl(c);r=H;return n|0}function Rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){r=z;return}u=(e>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=z;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))vg(t,b);else{k[c>>2]=e;k[u>>2]=c+4}c=k[a>>2]|0;d=k[b>>2]|0;e=d+1|0;do if((d|0)>=0){f=k[c+28>>2]|0;c=k[f+((((e|0)%3|0|0)==0?d+-2|0:e)<<2)>>2]|0;if(!((d>>>0)%3|0)){g=c;d=d+2|0;c=f;break}else{g=c;d=d+-1|0;c=f;break}}else{c=k[c+28>>2]|0;g=k[c+(d<<2)>>2]|0}while(0);h=k[c+(d<<2)>>2]|0;n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];Ue(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];Ue(d,p,q)}d=k[t>>2]|0;c=k[u>>2]|0;if((d|0)==(c|0)){r=z;return}j=a+36|0;do{e=k[c+-4>>2]|0;k[b>>2]=e;f=(e|0)/3|0;if((e|0)>=0?(x=k[s>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){c=e;d=x;e=k[a>>2]|0;a:while(1){h=(c|0)/3|0;c=d+(h>>>5<<2)|0;k[c>>2]=1<<(h&31)|k[c>>2];c=k[b>>2]|0;h=k[(k[e+28>>2]|0)+(c<<2)>>2]|0;d=k[(k[e+40>>2]|0)+(h<<2)>>2]|0;if((d|0)<0)i=1;else{i=k[(k[k[e+64>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;i=(1<<(i&31)&k[(k[e+12>>2]|0)+(i>>>5<<2)>>2]|0)!=0}d=(k[n>>2]|0)+(h>>>5<<2)|0;f=1<<(h&31);g=k[d>>2]|0;if(!(g&f)){k[d>>2]=g|f;k[v>>2]=h;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];Ue(j,p,q);e=k[a>>2]|0;c=k[b>>2]|0;if(i){i=e;y=40}else{d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&k[(k[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);k[b>>2]=c}}else{i=e;y=40}if((y|0)==40){y=0;e=(c|0)<0;d=c+1|0;if(e)d=c;else d=((d|0)%3|0|0)==0?c+-2|0:d;if(!(1<<(d&31)&k[(k[i>>2]|0)+(d>>>5<<2)>>2])){if((d|0)>=0)d=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;k[q>>2]=d;do if(!e)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&k[(k[i>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=k[(k[(k[i+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);m=(d|0)<0;e=m?-1:(d>>>0)/3|0;f=(c|0)<0;g=f?-1:(c>>>0)/3|0;do if(!m){h=k[s>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=54;break}if(f){c=d;break}if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=59;break a}else c=d}else y=54;while(0);if((y|0)==54){y=0;if(f){y=56;break}if(k[(k[s>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){y=56;break}}k[b>>2]=c;e=i}d=k[s>>2]|0}do if((y|0)==56){y=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}else if((y|0)==59){y=0;d=k[u>>2]|0;k[d+-4>>2]=c;if((d|0)==(k[o>>2]|0)){vg(t,q);c=k[u>>2]|0;break}else{k[d>>2]=k[q>>2];c=d+4|0;k[u>>2]=c;break}}while(0);d=k[t>>2]|0}else{c=c+-4|0;k[u>>2]=c}}while((d|0)!=(c|0));r=z;return}function Sb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{kg(h,e-d|0);d=k[x>>2]|0}u=k[a+48>>2]|0;v=k[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Cl(t)|0;Jh(w|0,0,t|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[w+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[x>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[x>>2]|0))}}}p=a+56|0;f=k[p>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;t=h-g|0;q=t>>2;if((t|0)<=4){Dl(w);return 1}r=a+16|0;s=a+32|0;t=a+12|0;a=a+20|0;n=u+12|0;o=(e|0)>0;d=1;while(1){if(h-g>>2>>>0<=d>>>0){C=28;break}f=k[g+(d<<2)>>2]|0;if((f|0)>=0?(y=k[(k[n>>2]|0)+(f<<2)>>2]|0,(y|0)>-1):0){h=k[u>>2]|0;g=(y>>>0)%3|0;i=k[v>>2]|0;l=k[i+(k[h+(((y>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=y+1|0;f=((f|0)%3|0|0)==0?y+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+y|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;m=$(d,e)|0;if((l|0)<(d|0)&(j|0)<(d|0)&(f|0)<(d|0)){i=$(l,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(o){f=0;do{k[w+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[x>>2]|0)>0){j=0;do{i=k[w+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[r>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}}else{B=m;C=36}}else{B=$(d,e)|0;C=36}if((C|0)==36?(C=0,z=c+(($(d+-1|0,e)|0)<<2)|0,A=c+(B<<2)|0,(k[x>>2]|0)>0):0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[x>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[A+(f<<2)>>2]=(k[b+(f+B<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[x>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=A+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[r>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[x>>2]|0))}}}d=d+1|0;if((d|0)>=(q|0)){C=25;break}f=k[p>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}if((C|0)==25){Dl(w);return 1}else if((C|0)==28)Jk(f);return 0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+32|0;q=z+28|0;p=z+24|0;i=z+20|0;j=z+16|0;l=z+12|0;m=z+8|0;v=z+4|0;w=z;e=k[b>>2]|0;if((e|0)<0){r=z;return}u=(e>>>0)/3|0;s=a+12|0;if(k[(k[s>>2]|0)+(u>>>5<<2)>>2]&1<<(u&31)|0){r=z;return}t=a+56|0;c=k[t>>2]|0;u=a+60|0;d=k[u>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;k[u>>2]=c}o=a+64|0;if((c|0)==(k[o>>2]|0))vg(t,b);else{k[c>>2]=e;k[u>>2]=c+4}e=k[a>>2]|0;d=k[b>>2]|0;c=d+1|0;if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=k[(k[e>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){g=c;h=-1073741824}else{g=c;h=k[(k[e>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0}}else{g=-1073741824;h=-1073741824}n=a+24|0;c=k[n>>2]|0;d=c+(g>>>5<<2)|0;e=1<<(g&31);f=k[d>>2]|0;if(!(f&e)){k[d>>2]=f|e;k[i>>2]=g;c=k[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;k[j>>2]=c;k[p>>2]=k[i>>2];k[q>>2]=k[j>>2];Ue(a+36|0,p,q);c=k[n>>2]|0}c=c+(h>>>5<<2)|0;d=1<<(h&31);e=k[c>>2]|0;if(!(e&d)){k[c>>2]=e|d;d=a+36|0;k[l>>2]=h;c=k[b>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);k[m>>2]=c;k[p>>2]=k[l>>2];k[q>>2]=k[m>>2];Ue(d,p,q)}c=k[t>>2]|0;e=k[u>>2]|0;if((c|0)==(e|0)){r=z;return}j=a+36|0;d=c;while(1){c=k[e+-4>>2]|0;k[b>>2]=c;f=(c|0)/3|0;if((c|0)>=0?(x=k[s>>2]|0,(k[x+(f>>>5<<2)>>2]&1<<(f&31)|0)==0):0){d=x;a:while(1){e=(c|0)/3|0;f=d+(e>>>5<<2)|0;k[f>>2]=1<<(e&31)|k[f>>2];f=k[b>>2]|0;e=k[a>>2]|0;if((f|0)<0)i=-1073741824;else i=k[(k[e>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;c=k[(k[e+24>>2]|0)+(i<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>=0){c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)h=c;else h=((d|0)%3|0|0)==0?c+-2|0:d}else h=c}else h=c;c=(k[n>>2]|0)+(i>>>5<<2)|0;d=1<<(i&31);g=k[c>>2]|0;if(!(g&d)){k[c>>2]=g|d;k[v>>2]=i;k[w>>2]=k[b>>2];k[p>>2]=k[v>>2];k[q>>2]=k[w>>2];Ue(j,p,q);d=k[a>>2]|0;c=k[b>>2]|0;if((h|0)<0){f=c;e=d;y=41}else{do if((c|0)<0)c=-1073741824;else{m=c+1|0;c=((m|0)%3|0|0)==0?c+-2|0:m;if((c|0)<0)break;c=k[(k[d+12>>2]|0)+(c<<2)>>2]|0}while(0);k[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((f|0)<0){y=44;break}c=f+1|0;c=((c|0)%3|0|0)==0?f+-2|0:c;if((c|0)>=0)c=k[(k[e+12>>2]|0)+(c<<2)>>2]|0;k[q>>2]=c;d=(((f>>>0)%3|0|0)==0?2:-1)+f|0;if((d|0)>=0)d=k[(k[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;e=m?-1:(c>>>0)/3|0;f=(d|0)<0;g=f?-1:(d>>>0)/3|0;do if(!m){h=k[s>>2]|0;if(k[h+(e>>>5<<2)>>2]&1<<(e&31)|0){y=49;break}if(f)break;if(!(k[h+(g>>>5<<2)>>2]&1<<(g&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(f){y=51;break}if(!(k[(k[s>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))c=d;else{y=51;break}}k[b>>2]=c}d=k[s>>2]|0}do if((y|0)==44){k[q>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=k[u>>2]|0;k[c+-4>>2]=d;if((c|0)==(k[o>>2]|0)){vg(t,q);c=k[u>>2]|0;break}else{k[c>>2]=k[q>>2];c=c+4|0;k[u>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(k[u>>2]|0)+-4|0;k[u>>2]=c}d=k[t>>2]|0}else{c=e+-4|0;k[u>>2]=c}if((d|0)==(c|0))break;else e=c}r=z;return}function Ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;y=a+8|0;k[y>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{kg(h,e-d|0);d=k[y>>2]|0}v=k[a+48>>2]|0;w=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Cl(u)|0;Jh(x|0,0,u|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[x+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[y>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[y>>2]|0))}}}q=a+56|0;g=k[q>>2]|0;f=k[g+4>>2]|0;h=k[g>>2]|0;u=f-h|0;r=u>>2;if((u|0)<=4){Dl(x);return 1}s=a+16|0;t=a+32|0;u=a+12|0;a=a+20|0;n=v+64|0;o=v+28|0;p=(e|0)>0;d=1;while(1){if(f-h>>2>>>0<=d>>>0){D=28;break}f=k[h+(d<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[v>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(z=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(z|0)>-1):0){h=k[o>>2]|0;m=k[w>>2]|0;f=k[m+(k[h+(z<<2)>>2]<<2)>>2]|0;g=z+1|0;g=k[m+(k[h+((((g|0)%3|0|0)==0?z+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[m+(k[h+((((z>>>0)%3|0|0)==0?2:-1)+z<<2)>>2]<<2)>>2]|0;m=$(d,e)|0;if((f|0)<(d|0)&(g|0)<(d|0)&(h|0)<(d|0)){j=$(f,e)|0;i=$(g,e)|0;g=$(h,e)|0;if(p){f=0;do{k[x+(f<<2)>>2]=(k[c+(f+g<<2)>>2]|0)+(k[c+(f+i<<2)>>2]|0)-(k[c+(f+j<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=c+(m<<2)|0;if((k[y>>2]|0)>0){j=0;do{i=k[x+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[l+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=l+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}}else{C=m;D=32}}else{C=$(d,e)|0;D=32}if((D|0)==32?(D=0,A=c+(($(d+-1|0,e)|0)<<2)|0,B=c+(C<<2)|0,(k[y>>2]|0)>0):0){j=0;do{i=k[A+(j<<2)>>2]|0;f=k[s>>2]|0;do if((i|0)<=(f|0)){f=k[u>>2]|0;g=k[t>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[t>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[y>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[B+(f<<2)>>2]=(k[b+(f+C<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[y>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=B+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[s>>2]|0)){if((h|0)<(k[u>>2]|0))k[g>>2]=(k[a>>2]|0)+h}else k[g>>2]=h-(k[a>>2]|0);f=f+1|0}while((f|0)<(k[y>>2]|0))}}}d=d+1|0;if((d|0)>=(r|0)){D=25;break}f=k[q>>2]|0;g=f;h=k[f>>2]|0;f=k[f+4>>2]|0}if((D|0)==25){Dl(x);return 1}else if((D|0)==28)Jk(g);return 0}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+16|0;x=C+8|0;y=C+4|0;z=C;A=a+64|0;d=k[A>>2]|0;if(((k[d+28>>2]|0)-(k[d+24>>2]|0)|0)<=0){r=C;return}w=b+80|0;t=b+84|0;u=a+52|0;v=c+84|0;j=c+68|0;l=a+56|0;m=a+60|0;n=a+12|0;o=a+28|0;p=a+40|0;q=a+44|0;s=a+48|0;f=0;h=0;a:while(1){b=k[(k[d+24>>2]|0)+(h<<2)>>2]|0;if((b|0)<0){c=f;b=d}else{g=f+1|0;c=(b>>>0)/3|0;d=k[w>>2]|0;if((c|0)>=(((k[t>>2]|0)-d|0)/12|0|0)){B=6;break}c=k[d+(c*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))c=k[(k[j>>2]|0)+(c<<2)>>2]|0;k[x>>2]=c;d=k[l>>2]|0;if(d>>>0<(k[m>>2]|0)>>>0){k[d>>2]=c;k[l>>2]=d+4}else vg(u,x);k[x>>2]=b;k[y>>2]=0;b:do if(k[(k[n>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;e=k[a>>2]|0;if(!(1<<(c&31)&k[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)>=0){c=((d|0)%3|0|0)==0?c+-2|0:d;k[y>>2]=c;if((c|0)>-1)b=c;else break;while(1){k[x>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[e+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[A>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break;c=((d|0)%3|0|0)==0?c+-2|0:d;k[y>>2]=c;if((c|0)>-1)b=c;else break b}k[y>>2]=c;break}}}else c=-1073741824;k[y>>2]=c}while(0);k[(k[o>>2]|0)+(b<<2)>>2]=f;b=k[q>>2]|0;if((b|0)==(k[s>>2]|0))vg(p,x);else{k[b>>2]=k[x>>2];k[q>>2]=b+4}b=k[A>>2]|0;d=k[x>>2]|0;c:do if((d|0)>=0){c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=c;if((c|0)>-1&(c|0)!=(d|0)){b=f;e=c;while(1){f=e+1|0;f=((f|0)%3|0|0)==0?e+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){d=g+1|0;b=(e|0)/3|0;if((e|0)<=-3){B=33;break a}c=k[w>>2]|0;if((b|0)>=(((k[t>>2]|0)-c|0)/12|0|0)){B=35;break a}b=k[c+(b*12|0)+(((e|0)%3|0)<<2)>>2]|0;if(!(i[v>>0]|0))b=k[(k[j>>2]|0)+(b<<2)>>2]|0;k[z>>2]=b;c=k[l>>2]|0;if(c>>>0<(k[m>>2]|0)>>>0){k[c>>2]=b;k[l>>2]=c+4}else vg(u,z);b=k[q>>2]|0;if((b|0)==(k[s>>2]|0)){vg(p,y);f=d;d=g;break}else{k[b>>2]=k[y>>2];k[q>>2]=b+4;f=d;d=g;break}}else{f=g;d=b}while(0);k[(k[o>>2]|0)+(k[y>>2]<<2)>>2]=d;b=k[A>>2]|0;c=k[y>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;e=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[y>>2]=e;if(!((e|0)>-1?(e|0)!=(k[x>>2]|0):0)){c=f;break c}else{g=f;b=d}}k[y>>2]=c;c=f}else c=g}else B=30}else B=30}else{c=d;B=30}while(0);if((B|0)==30){B=0;k[y>>2]=c;c=g}}h=h+1|0;if((h|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0)){B=3;break}else{f=c;d=b}}if((B|0)==3){r=C;return}else if((B|0)==6)Ja(10363,10344,64,10358);else if((B|0)==33)Ja(10319,10344,63,10358);else if((B|0)==35)Ja(10363,10344,64,10358)}function Wb(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,j=0,m=0,n=0,o=0,p=0,q=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;F=r;r=r+64|0;E=F;p=E;q=p+40|0;do{k[p>>2]=0;p=p+4|0}while((p|0)<(q|0));a:do if(((ce(E,c)|0?(e=c+8|0,o=k[e>>2]|0,e=k[e+4>>2]|0,f=c+16|0,h=f,g=k[h>>2]|0,h=Vj(g|0,k[h+4>>2]|0,8,0)|0,j=M,!((e|0)<(j|0)|(e|0)==(j|0)&o>>>0>>0)):0)?(m=k[c>>2]|0,n=m+g|0,u=n,u=l[u>>0]|l[u+1>>0]<<8|l[u+2>>0]<<16|l[u+3>>0]<<24,n=n+4|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,D=f,k[D>>2]=h,k[D+4>>2]=j,D=Ej(o|0,e|0,h|0,j|0)|0,C=M,!(n>>>0>C>>>0|(n|0)==(C|0)&u>>>0>D>>>0)):0)?(v=m+h|0,C=Vj(u|0,n|0,h|0,j|0)|0,D=f,k[D>>2]=C,k[D+4>>2]=M,(u|0)>=1):0){D=E+40|0;k[D>>2]=v;e=u+-1|0;f=v+e|0;switch((l[f>>0]|0)>>>6&3){case 0:{k[E+44>>2]=e;t=l[f>>0]&63;s=E+48|0;k[s>>2]=t;break}case 1:{if((u|0)<2){j=0;break a}k[E+44>>2]=u+-2;t=v+u+-2|0;t=l[t+1>>0]<<8&16128|l[t>>0];s=E+48|0;k[s>>2]=t;break}case 2:{if((u|0)<3){j=0;break a}k[E+44>>2]=u+-3;t=v+u+-3|0;t=l[t+1>>0]<<8|l[t>>0]|l[t+2>>0]<<16&4128768;s=E+48|0;k[s>>2]=t;break}case 3:{k[E+44>>2]=u+-4;t=v+u+-4|0;t=l[t+2>>0]<<16|l[t+3>>0]<<24&1056964608|l[t+1>>0]<<8|l[t>>0];s=E+48|0;k[s>>2]=t;break}default:{}}C=t+16384|0;k[s>>2]=C;if(C>>>0<=4194303){e=(a|0)>0;b:do if(e){if(!(k[E+12>>2]|0)){j=0;break a}nf(c,0,0)|0;if(e){u=E+48|0;v=E+44|0;w=E+16|0;x=E+28|0;y=(b|0)>0;C=c+36|0;z=c+32|0;A=c+24|0;B=c+28|0;t=0;e=0;f=k[u>>2]|0;while(1){c:do if(f>>>0<16384){g=k[v>>2]|0;do{if((g|0)<=0)break c;g=g+-1|0;k[v>>2]=g;f=l[(k[D>>2]|0)+g>>0]|f<<8;k[u>>2]=f}while(f>>>0<16384)}while(0);p=f&4095;s=k[(k[w>>2]|0)+(p<<2)>>2]|0;q=k[x>>2]|0;f=($(k[q+(s<<3)>>2]|0,f>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[u>>2]=f;if(y){q=(s|0)>0;if((s|0)<=-1){e=33;break}if((s|0)<33)p=0;else{e=32;break}while(1){if(!(i[C>>0]|0)){j=0;break a}if(q){n=k[A>>2]|0;o=k[B>>2]|0;g=0;m=0;j=k[z>>2]|0;do{h=n+(j>>>3)|0;if(h>>>0>>0){h=(l[h>>0]|0)>>>(j&7)&1;j=j+1|0;k[z>>2]=j}else h=0;g=h<>2]=g;p=p+1|0;if((p|0)>=(b|0)){e=h;break}else e=h}}t=t+b|0;if((t|0)>=(a|0))break b}if((e|0)==32){if(!(i[C>>0]|0)){j=0;break a}Ja(5547,5520,113,5539)}else if((e|0)==33){if(!(i[C>>0]|0)){j=0;break a}Ja(5505,5520,112,5539)}}}else nf(c,0,0)|0;while(0);ti(c);j=1}else j=0}else j=0;while(0);e=k[E+28>>2]|0;f=e;if(e|0){g=E+32|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-8-f|0)>>>3)<<3);Fl(e)}e=k[E+16>>2]|0;f=e;if(e|0){g=E+20|0;h=k[g>>2]|0;if((h|0)!=(e|0))k[g>>2]=h+(~((h+-4-f|0)>>>2)<<2);Fl(e)}g=k[E>>2]|0;if(!g){r=F;return j|0}e=E+4|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-g|0)>>>2)<<2);Fl(g);r=F;return j|0}function Xb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;v=r;r=r+48|0;p=v+24|0;q=v+12|0;s=v;g=a+24|0;f=k[b>>2]|0;b=f+1|0;if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0}else{b=-1073741824;f=-1073741824}g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Jk(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)Jk(g);f=k[j+(f<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+48|0;b=k[i>>2]|0;g=$(b,n)|0}else{if((d|0)>0){i=a+48|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=v;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=v;return}while(0);if((b|0)<=0){r=v;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=v;return}b=a+48|0;j=k[b>>2]|0;i=$(j,n)|0;e=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=e|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=v;return}of(p,a,d);of(q,a,n);of(s,a,f);D=+o[q>>2];z=+o[s>>2]-D;C=+o[q+4>>2];y=+o[s+4>>2]-C;B=+o[q+8>>2];A=+o[s+8>>2]-B;D=+o[p>>2]-D;C=+o[p+4>>2]-C;B=+o[p+8>>2]-B;x=z*z+0.0+y*y+A*A;w=(z*D+0.0+y*C+A*B)/x;z=D-z*w;y=C-y*w;A=B-A*w;x=+P(+((A*A+(y*y+(z*z+0.0)))/x));z=l-e;y=m-h;l=e+z*w;m=z*x;w=h+y*w;x=y*x;h=l-x;e=m+w;l=x+l;m=w-m;b=$(k[b>>2]|0,d)|0;w=+(k[c+(b<<2)>>2]|0);x=+(k[c+(b+1<<2)>>2]|0);y=w-h;z=x-e;w=w-l;x=x-m;b=a+52|0;f=a+56|0;g=k[f>>2]|0;i=k[a+60>>2]|0;j=(g|0)==(i<<5|0);if(z*z+(y*y+0.0)>>0<1073741823?(t>>>0>>0?c:t):2147483647);t=k[f>>2]|0;break}else t=g;while(0);k[f>>2]=t+1;c=(k[b>>2]|0)+(t>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(t&31)}else{do if(j)if((g+1|0)<0)Kk(b);else{u=i<<6;c=g+32&-32;Zf(b,i<<5>>>0<1073741823?(u>>>0>>0?c:u):2147483647);u=k[f>>2]|0;break}else u=g;while(0);k[f>>2]=u+1;c=(k[b>>2]|0)+(u>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(u&31));h=l;e=m}c=~~+N(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+N(+(e+.5));k[a+4>>2]=c;r=v;return}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;v=r;r=r+48|0;p=v+24|0;q=v+12|0;s=v;g=a+48|0;f=k[b>>2]|0;b=f+1|0;if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;f=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((f|0)<0)f=-1073741824;else f=k[(k[k[g>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0}else{b=-1073741824;f=-1073741824}g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Jk(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)Jk(g);f=k[j+(f<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+72|0;b=k[i>>2]|0;g=$(b,n)|0}else{if((d|0)>0){i=a+72|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=v;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=v;return}while(0);if((b|0)<=0){r=v;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=v;return}b=a+72|0;j=k[b>>2]|0;i=$(j,n)|0;e=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=e|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=v;return}pf(p,a,d);pf(q,a,n);pf(s,a,f);D=+o[q>>2];z=+o[s>>2]-D;C=+o[q+4>>2];y=+o[s+4>>2]-C;B=+o[q+8>>2];A=+o[s+8>>2]-B;D=+o[p>>2]-D;C=+o[p+4>>2]-C;B=+o[p+8>>2]-B;x=z*z+0.0+y*y+A*A;w=(z*D+0.0+y*C+A*B)/x;z=D-z*w;y=C-y*w;A=B-A*w;x=+P(+((A*A+(y*y+(z*z+0.0)))/x));z=l-e;y=m-h;l=e+z*w;m=z*x;w=h+y*w;x=y*x;h=l-x;e=m+w;l=x+l;m=w-m;b=$(k[b>>2]|0,d)|0;w=+(k[c+(b<<2)>>2]|0);x=+(k[c+(b+1<<2)>>2]|0);y=w-h;z=x-e;w=w-l;x=x-m;b=a+76|0;f=a+80|0;g=k[f>>2]|0;i=k[a+84>>2]|0;j=(g|0)==(i<<5|0);if(z*z+(y*y+0.0)>>0<1073741823?(t>>>0>>0?c:t):2147483647);t=k[f>>2]|0;break}else t=g;while(0);k[f>>2]=t+1;c=(k[b>>2]|0)+(t>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(t&31)}else{do if(j)if((g+1|0)<0)Kk(b);else{u=i<<6;c=g+32&-32;Zf(b,i<<5>>>0<1073741823?(u>>>0>>0?c:u):2147483647);u=k[f>>2]|0;break}else u=g;while(0);k[f>>2]=u+1;c=(k[b>>2]|0)+(u>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(u&31));h=l;e=m}c=~~+N(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+N(+(e+.5));k[a+4>>2]=c;r=v;return}function Zb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;i=o+4|0;h=o;b=a+16|0;c=k[b>>2]|0;if(c>>>0>127){k[b>>2]=c+-128;l=a+4|0;j=k[l>>2]|0;n=k[j>>2]|0;j=j+4|0;k[l>>2]=j;m=a+8|0;h=k[m>>2]|0;i=a+12|0;g=k[i>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(j>>>0>c>>>0){b=j;d=((b-d>>2)+1|0)/-2|0;e=j+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=j;else{zi(e|0,j|0,b|0)|0;b=k[l>>2]|0}a=e+(c<<2)|0;k[m>>2]=a;k[l>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=La(4)|0;pl(o);wa(o|0,736,68)}e=bj(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((j|0)==(h|0))b=g;else{b=g;c=j;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[l>>2]=g;k[m>>2]=b;k[i>>2]=e;if(c){Fl(c);b=k[m>>2]|0}}else b=h;while(0);k[b>>2]=n;k[m>>2]=(k[m>>2]|0)+4;r=o;return}n=a+8|0;b=k[n>>2]|0;m=a+4|0;e=b-(k[m>>2]|0)|0;l=a+12|0;c=k[l>>2]|0;d=c-(k[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;k[i+12>>2]=0;k[i+16>>2]=a+12;if(b>>>0>1073741823){o=La(4)|0;pl(o);wa(o|0,736,68)}j=bj(b<<2)|0;k[i>>2]=j;f=j+(e>>2<<2)|0;g=i+8|0;k[g>>2]=f;e=i+4|0;k[e>>2]=f;f=i+12|0;k[f>>2]=j+(b<<2);b=bj(4096)|0;k[h>>2]=b;af(i,h);b=k[n>>2]|0;while(1){d=k[m>>2]|0;if((b|0)==(d|0))break;j=b+-4|0;Ve(i,j);b=j}c=k[a>>2]|0;k[a>>2]=k[i>>2];k[i>>2]=c;k[m>>2]=k[e>>2];k[e>>2]=d;b=k[n>>2]|0;k[n>>2]=k[g>>2];k[g>>2]=b;a=k[l>>2]|0;k[l>>2]=k[f>>2];k[f>>2]=a;if((b|0)!=(d|0))k[g>>2]=b+(~((b+-4-d|0)>>>2)<<2);if(c|0)Fl(c);r=o;return}if((c|0)!=(b|0)){n=bj(4096)|0;k[i>>2]=n;af(a,i);r=o;return}j=bj(4096)|0;k[i>>2]=j;Ve(a,i);i=k[m>>2]|0;j=k[i>>2]|0;i=i+4|0;k[m>>2]=i;h=k[n>>2]|0;g=k[l>>2]|0;b=g;f=h;do if((h|0)==(g|0)){c=k[a>>2]|0;d=c;if(i>>>0>c>>>0){b=i;d=((b-d>>2)+1|0)/-2|0;e=i+(d<<2)|0;b=f-b|0;c=b>>2;if(!c)b=i;else{zi(e|0,i|0,b|0)|0;b=k[m>>2]|0}a=e+(c<<2)|0;k[n>>2]=a;k[m>>2]=b+(d<<2);b=a;break}b=b-d>>1;b=(b|0)==0?1:b;if(b>>>0>1073741823){o=La(4)|0;pl(o);wa(o|0,736,68)}e=bj(b<<2)|0;f=e;d=e+(b>>>2<<2)|0;g=d;e=e+(b<<2)|0;if((i|0)==(h|0))b=g;else{b=g;c=i;do{k[d>>2]=k[c>>2];d=b+4|0;b=d;c=c+4|0}while((c|0)!=(h|0));c=k[a>>2]|0}k[a>>2]=f;k[m>>2]=g;k[n>>2]=b;k[l>>2]=e;if(c){Fl(c);b=k[n>>2]|0}}else b=h;while(0);k[b>>2]=j;k[n>>2]=(k[n>>2]|0)+4;r=o;return}function _b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;v=r;r=r+48|0;p=v+24|0;q=v+12|0;s=v;i=a+24|0;f=k[b>>2]|0;b=f+1|0;do if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;if(!((f>>>0)%3|0)){g=f+2|0;break}else{g=f+-1|0;break}}else{g=f;b=f}while(0);f=k[(k[i>>2]|0)+28>>2]|0;b=k[f+(b<<2)>>2]|0;f=k[f+(g<<2)>>2]|0;g=k[a+28>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Jk(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)Jk(g);f=k[j+(f<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+48|0;b=k[i>>2]|0;g=$(b,n)|0}else{if((d|0)>0){i=a+48|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+48|0;if((k[g>>2]|0)<=0){r=v;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=v;return}while(0);if((b|0)<=0){r=v;return}f=k[a+44>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=v;return}b=a+48|0;j=k[b>>2]|0;i=$(j,n)|0;e=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=e|m!=h)){a=k[a+44>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=v;return}of(p,a,d);of(q,a,n);of(s,a,f);D=+o[q>>2];z=+o[s>>2]-D;C=+o[q+4>>2];y=+o[s+4>>2]-C;B=+o[q+8>>2];A=+o[s+8>>2]-B;D=+o[p>>2]-D;C=+o[p+4>>2]-C;B=+o[p+8>>2]-B;x=z*z+0.0+y*y+A*A;w=(z*D+0.0+y*C+A*B)/x;z=D-z*w;y=C-y*w;A=B-A*w;x=+P(+((A*A+(y*y+(z*z+0.0)))/x));z=l-e;y=m-h;l=e+z*w;m=z*x;w=h+y*w;x=y*x;h=l-x;e=m+w;l=x+l;m=w-m;b=$(k[b>>2]|0,d)|0;w=+(k[c+(b<<2)>>2]|0);x=+(k[c+(b+1<<2)>>2]|0);y=w-h;z=x-e;w=w-l;x=x-m;b=a+52|0;f=a+56|0;g=k[f>>2]|0;i=k[a+60>>2]|0;j=(g|0)==(i<<5|0);if(z*z+(y*y+0.0)>>0<1073741823?(t>>>0>>0?c:t):2147483647);t=k[f>>2]|0;break}else t=g;while(0);k[f>>2]=t+1;c=(k[b>>2]|0)+(t>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(t&31)}else{do if(j)if((g+1|0)<0)Kk(b);else{u=i<<6;c=g+32&-32;Zf(b,i<<5>>>0<1073741823?(u>>>0>>0?c:u):2147483647);u=k[f>>2]|0;break}else u=g;while(0);k[f>>2]=u+1;c=(k[b>>2]|0)+(u>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(u&31));h=l;e=m}c=~~+N(+(h+.5));a=k[a+44>>2]|0;k[a>>2]=c;c=~~+N(+(e+.5));k[a+4>>2]=c;r=v;return}function $b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;v=r;r=r+48|0;p=v+24|0;q=v+12|0;s=v;i=a+48|0;f=k[b>>2]|0;b=f+1|0;do if((f|0)>=0){b=((b|0)%3|0|0)==0?f+-2|0:b;if(!((f>>>0)%3|0)){g=f+2|0;break}else{g=f+-1|0;break}}else{g=f;b=f}while(0);f=k[(k[i>>2]|0)+28>>2]|0;b=k[f+(b<<2)>>2]|0;f=k[f+(g<<2)>>2]|0;g=k[a+52>>2]|0;i=k[g+4>>2]|0;j=k[g>>2]|0;if(i-j>>2>>>0<=b>>>0)Jk(g);n=k[j+(b<<2)>>2]|0;if(i-j>>2>>>0<=f>>>0)Jk(g);f=k[j+(f<<2)>>2]|0;b=(n|0)<(d|0);if(!(b&(f|0)<(d|0))){do if(b){i=a+72|0;b=k[i>>2]|0;g=$(b,n)|0}else{if((d|0)>0){i=a+72|0;b=k[i>>2]|0;g=$(b,d+-1|0)|0;break}g=a+72|0;if((k[g>>2]|0)<=0){r=v;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[g>>2]|0));r=v;return}while(0);if((b|0)<=0){r=v;return}f=k[a+68>>2]|0;b=0;do{k[f+(b<<2)>>2]=k[c+(b+g<<2)>>2];b=b+1|0}while((b|0)<(k[i>>2]|0));r=v;return}b=a+72|0;j=k[b>>2]|0;i=$(j,n)|0;e=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);j=$(j,f)|0;l=+(k[c+(j<<2)>>2]|0);m=+(k[c+(j+1<<2)>>2]|0);if(!(l!=e|m!=h)){a=k[a+68>>2]|0;k[a>>2]=~~l;k[a+4>>2]=~~m;r=v;return}pf(p,a,d);pf(q,a,n);pf(s,a,f);D=+o[q>>2];z=+o[s>>2]-D;C=+o[q+4>>2];y=+o[s+4>>2]-C;B=+o[q+8>>2];A=+o[s+8>>2]-B;D=+o[p>>2]-D;C=+o[p+4>>2]-C;B=+o[p+8>>2]-B;x=z*z+0.0+y*y+A*A;w=(z*D+0.0+y*C+A*B)/x;z=D-z*w;y=C-y*w;A=B-A*w;x=+P(+((A*A+(y*y+(z*z+0.0)))/x));z=l-e;y=m-h;l=e+z*w;m=z*x;w=h+y*w;x=y*x;h=l-x;e=m+w;l=x+l;m=w-m;b=$(k[b>>2]|0,d)|0;w=+(k[c+(b<<2)>>2]|0);x=+(k[c+(b+1<<2)>>2]|0);y=w-h;z=x-e;w=w-l;x=x-m;b=a+76|0;f=a+80|0;g=k[f>>2]|0;i=k[a+84>>2]|0;j=(g|0)==(i<<5|0);if(z*z+(y*y+0.0)>>0<1073741823?(t>>>0>>0?c:t):2147483647);t=k[f>>2]|0;break}else t=g;while(0);k[f>>2]=t+1;c=(k[b>>2]|0)+(t>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(t&31)}else{do if(j)if((g+1|0)<0)Kk(b);else{u=i<<6;c=g+32&-32;Zf(b,i<<5>>>0<1073741823?(u>>>0>>0?c:u):2147483647);u=k[f>>2]|0;break}else u=g;while(0);k[f>>2]=u+1;c=(k[b>>2]|0)+(u>>>5<<2)|0;k[c>>2]=k[c>>2]&~(1<<(u&31));h=l;e=m}c=~~+N(+(h+.5));a=k[a+68>>2]|0;k[a>>2]=c;c=~~+N(+(e+.5));k[a+4>>2]=c;r=v;return}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+32|0;s=x;t=x+24|0;o=x+28|0;u=x+12|0;p=x+8|0;v=k[a>>2]|0;w=v+8|0;c=k[v>>2]|0;v=k[v+4>>2]|0;w=Vj(c|0,v|0,k[w>>2]|0,k[w+4>>2]|0)|0;m=M;m=Vj((w|0)==0&(m|0)==0&1|0,0,w|0,m|0)|0;m=~~((+(c>>>0)+4294967296.0*+(v>>>0))/(+(m>>>0)+4294967296.0*+(M>>>0))*256.0+.5)>>>0;m=m>>>0<255?m:255;i[o>>0]=((m&255)<<24>>24==0&1)+m;m=a+12|0;v=a+16|0;c=((k[v>>2]|0)-(k[m>>2]|0)<<1)+64|0;k[u>>2]=0;w=u+4|0;k[w>>2]=0;k[u+8>>2]=0;if(!c)n=0;else{if((c|0)<0)Kk(u);d=bj(c)|0;k[w>>2]=d;k[u>>2]=d;k[u+8>>2]=d+c;do{i[d>>0]=0;d=(k[w>>2]|0)+1|0;k[w>>2]=d;c=c+-1|0}while((c|0)!=0);n=k[u>>2]|0}q=a+28|0;c=(k[q>>2]|0)+-1|0;if((c|0)>-1){j=a+24|0;e=4096;d=0;do{h=i[o>>0]|0;f=256-(h&255)|0;g=(k[j>>2]&1<>>0>=h<<12>>>0){i[n+d>>0]=e;d=d+1|0;e=e>>>8}_i(k[800+(h<<3)>>2]|0,0,e|0,0)|0;e=e+(g?0:f&255)+($((M+e|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;c=c+-1|0}while((c|0)>-1);c=e}else{c=4096;d=0}e=k[v>>2]|0;if((e|0)==(k[m>>2]|0))f=c;else{do{e=e+-4|0;l=k[e>>2]|0;j=31;while(1){h=i[o>>0]|0;f=256-(h&255)|0;g=(1<>>0>=h<<12>>>0){i[n+d>>0]=c;d=d+1|0;c=c>>>8}_i(k[800+(h<<3)>>2]|0,0,c|0,0)|0;c=c+(g?0:f&255)+($((M+c|0)>>>(k[800+(h<<3)+4>>2]|0),256-h|0)|0)|0;if((j|0)<=0)break;else j=j+-1|0}}while((e|0)!=(k[m>>2]|0));f=c}if(f>>>0<=4095)Ja(5340,5370,132,5383);if(f>>>0>=1048576)Ja(5397,5370,133,5383);e=f+-4096|0;do if(e>>>0>=64){c=n+d|0;if(e>>>0<16384){f=f+12288|0;i[c>>0]=f;i[c+1>>0]=f>>>8;f=d+2|0;break}else{f=f+8384512|0;i[c>>0]=f;i[c+1>>0]=f>>>8;i[c+2>>0]=f>>>16;f=d+3|0;break}}else{i[n+d>>0]=e;f=d+1|0}while(0);c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Vd(b,s,o,o+1|0)|0;d=c;e=k[d+4>>2]|0;d=k[d>>2]|0}k[p>>2]=f;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Vd(b,s,p,p+4|0)|0;d=c;e=k[d+4>>2]|0;d=k[d>>2]|0}c=k[u>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){k[t>>2]=k[b+4>>2];k[s>>2]=k[t>>2];Vd(b,s,c,c+f|0)|0}c=s;k[c>>2]=0;k[c+4>>2]=0;Be(a,2,s);c=k[a+12>>2]|0;d=k[v>>2]|0;if((d|0)!=(c|0))k[v>>2]=d+(~((d+-4-c|0)>>>2)<<2);k[a+24>>2]=0;k[q>>2]=0;c=k[u>>2]|0;if(!c){r=x;return}if((k[w>>2]|0)!=(c|0))k[w>>2]=c;Fl(c);r=x;return}function bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+16|0;q=v+8|0;s=v+4|0;t=v;u=a+64|0;b=k[u>>2]|0;if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)<=0){r=v;return}h=a+52|0;i=a+56|0;j=a+60|0;l=a+12|0;m=a+28|0;n=a+40|0;o=a+44|0;p=a+48|0;c=0;g=0;do{e=k[(k[b+24>>2]|0)+(g<<2)>>2]|0;if((e|0)>=0){d=c+1|0;k[q>>2]=c;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))vg(h,q);else{k[b>>2]=c;k[i>>2]=b+4}k[s>>2]=e;k[t>>2]=0;a:do if(!(k[(k[l>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)))b=e;else{b=e+1|0;b=((b|0)%3|0|0)==0?e+-2|0:b;f=k[a>>2]|0;if(!(1<<(b&31)&k[f+(b>>>5<<2)>>2])){if((b|0)>=0){b=k[(k[(k[u>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;c=b+1|0;if((b|0)>=0){b=((c|0)%3|0|0)==0?b+-2|0:c;k[t>>2]=b;if((b|0)<=-1){b=e;break}while(1){k[s>>2]=b;c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if(1<<(c&31)&k[f+(c>>>5<<2)>>2]|0){c=-1073741824;break}if((c|0)<0)break;c=k[(k[(k[u>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;e=c+1|0;if((c|0)<0)break;c=((e|0)%3|0|0)==0?c+-2|0:e;k[t>>2]=c;if((c|0)>-1)b=c;else break a}k[t>>2]=c;break}}}else b=-1073741824;k[t>>2]=b;b=e}while(0);k[(k[m>>2]|0)+(b<<2)>>2]=k[q>>2];b=k[o>>2]|0;if((b|0)==(k[p>>2]|0))vg(n,s);else{k[b>>2]=k[s>>2];k[o>>2]=b+4}b=k[u>>2]|0;e=k[s>>2]|0;b:do if((e|0)>=0){c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)>=0){c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0){c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[t>>2]=c;if((c|0)>-1&(c|0)!=(e|0)){while(1){f=c+1|0;f=((f|0)%3|0|0)==0?c+-2|0:f;do if(k[(k[a>>2]|0)+(f>>>5<<2)>>2]&1<<(f&31)){c=d+1|0;k[q>>2]=d;b=k[i>>2]|0;if((b|0)==(k[j>>2]|0))vg(h,q);else{k[b>>2]=d;k[i>>2]=b+4}b=k[o>>2]|0;if((b|0)==(k[p>>2]|0)){vg(n,t);d=c;break}else{k[b>>2]=k[t>>2];k[o>>2]=b+4;d=c;break}}while(0);k[(k[m>>2]|0)+(k[t>>2]<<2)>>2]=k[q>>2];b=k[u>>2]|0;c=k[t>>2]|0;if((c|0)<0)break;c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)<0)break;c=k[(k[b+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;k[t>>2]=c;if(!((c|0)>-1?(c|0)!=(k[s>>2]|0):0)){c=d;break b}}k[t>>2]=c;c=d}else c=d}else w=26}else w=26}else{c=e;w=26}while(0);if((w|0)==26){w=0;k[t>>2]=c;c=d}}g=g+1|0}while((g|0)<((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0));r=v;return}function cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;o[c+4>>2]=0.0;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;m=a;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;k[c>>2]=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;k[c+4>>2]=a;c=1;r=n;return c|0}case 3:{j=a+48|0;m=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,m|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=a;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;m=c;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;c=c+4|0;i[c>>0]=a;i[c+1>>0]=a>>8;i[c+2>>0]=a>>16;i[c+3>>0]=a>>24;c=1;r=n;return c|0}case 4:{j=a+48|0;m=k[j>>2]|0;j=k[j+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,m|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;j=a;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;a=a+4|0;a=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;m=c;i[m>>0]=j;i[m+1>>0]=j>>8;i[m+2>>0]=j>>16;i[m+3>>0]=j>>24;c=c+4|0;i[c>>0]=a;i[c+1>>0]=a>>8;i[c+2>>0]=a>>16;i[c+3>>0]=a>>24;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=Rd(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=Od(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=yd(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=wd(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=kd(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=nd(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function dc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+8|0;k[u>>2]=e;do if(d){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;t=1-g+f|0;k[a+20>>2]=t;f=(t|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(t&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}else d=0;while(0);d=d-e|0;if((d|0)>0){n=0-e|0;o=a+16|0;p=a+32|0;q=a+12|0;r=a+28|0;s=a+20|0;t=a+24|0;m=d;d=k[u>>2]|0;do{l=b+(m<<2)|0;j=l+(n<<2)|0;if((d|0)>0){i=0;do{h=k[j+(i<<2)>>2]|0;d=k[o>>2]|0;do if((h|0)<=(d|0)){d=k[q>>2]|0;f=k[p>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[p>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0){f=0;do{k[c+(f+m<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[g+(f<<2)>>2]|0);f=f+1|0;d=k[u>>2]|0}while((f|0)<(d|0));if((d|0)>0){g=0;do{d=c+(g+m<<2)|0;f=k[d>>2]|0;if((f|0)>=(k[r>>2]|0)){if((f|0)>(k[t>>2]|0))k[d>>2]=f-(k[s>>2]|0)}else k[d>>2]=(k[s>>2]|0)+f;g=g+1|0;d=k[u>>2]|0}while((g|0)<(d|0))}}}m=m-e|0}while((m|0)>0)}else d=k[u>>2]|0;e=e>>>0>1073741823?-1:e<<2;n=Cl(e)|0;Jh(n|0,0,e|0)|0;if((d|0)<=0){Dl(n);return 1}j=a+16|0;l=a+32|0;m=a+12|0;i=0;do{h=k[n+(i<<2)>>2]|0;d=k[j>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[l>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[l>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[u>>2]|0}while((i|0)<(d|0));if((d|0)>0)d=0;else{Dl(n);return 1}do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)-(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[u>>2]|0}while((d|0)<(f|0));if((f|0)<=0){Dl(n);return 1}i=a+28|0;j=a+20|0;f=a+24|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[i>>2]|0)){if((h|0)>(k[f>>2]|0))k[g>>2]=h-(k[j>>2]|0)}else k[g>>2]=(k[j>>2]|0)+h;d=d+1|0}while((d|0)<(k[u>>2]|0));Dl(n);return 1}function ec(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;v=a+8|0;k[v>>2]=e;w=k[a+24>>2]|0;t=k[a+28>>2]|0;o=e>>>0>1073741823?-1:e<<2;u=Cl(o)|0;Jh(u|0,0,o|0)|0;o=a+32|0;g=k[o>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){p=(e|0)>0;q=w+64|0;r=w+28|0;s=e<<2;n=d>>2;d=g;while(1){m=n+-1|0;if(a-f>>2>>>0<=m>>>0)break;l=k[f+(m<<2)>>2]|0;if(p)Jh(u|0,0,s|0)|0;if((l|0)>-1){j=k[w>>2]|0;d=0;i=l;while(1){do if(((k[j+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(y=k[(k[(k[q>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(y|0)>-1):0)?(B=k[r>>2]|0,h=k[t>>2]|0,z=k[h+(k[B+(y<<2)>>2]<<2)>>2]|0,A=y+1|0,A=k[h+(k[B+((((A|0)%3|0|0)==0?y+-2|0:A)<<2)>>2]<<2)>>2]|0,B=k[h+(k[B+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(z|0)<(m|0)&(A|0)<(m|0)&(B|0)<(m|0)):0){a=$(z,e)|0;g=$(A,e)|0;h=$(B,e)|0;if(p)f=0;else{d=d+1|0;C=20;break}do{D=u+(f<<2)|0;k[D>>2]=(k[b+(f+h<<2)>>2]|0)+(k[b+(f+g<<2)>>2]|0)-(k[b+(f+a<<2)>>2]|0)+(k[D>>2]|0);f=f+1|0}while((f|0)!=(e|0));d=d+1|0;if((i|0)<0){a=d;d=i}else C=20}else C=20;while(0);do if((C|0)==20){C=0;if(!((i>>>0)%3|0)){a=d;d=i+2|0;break}else{a=d;d=i+-1|0;break}}while(0);do if(!(1<<(d&31)&k[j+(d>>>5<<2)>>2])){if((d|0)>=0){d=k[(k[(k[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}}else d=-1073741824;while(0);i=(d|0)==(l|0)?-1073741824:d;if((i|0)<=-1)break;else d=a}d=$(m,e)|0;if(!a)C=32;else{if(p){f=0;do{D=u+(f<<2)|0;k[D>>2]=(k[D>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}re(v,b+(d<<2)|0,u,c,d)}}else{d=$(m,e)|0;C=32}if((C|0)==32){C=0;re(v,b+(d<<2)|0,b+(($(n+-2|0,e)|0)<<2)|0,c,d)}if((m|0)<=1){x=u;break a}d=k[o>>2]|0;n=m;f=k[d>>2]|0;a=k[d+4>>2]|0}Jk(d)}else x=u;while(0);if((e|0)<=0){re(v,b,x,c,0);Dl(u);return 1}Jh(u|0,0,e<<2|0)|0;re(v,b,x,c,0);Dl(u);return 1}function fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Yd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+4194304|0;k[o>>2]=d;d=d>>>0>1073741823;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<4194304){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>20)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(Zd(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+2097152|0;k[o>>2]=d;d=d>>>0>536870911;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<2097152){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>19)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(_d(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+1048576|0;k[o>>2]=d;d=d>>>0>268435455;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<1048576){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>18)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if($d(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+262144|0;k[o>>2]=d;d=d>>>0>67108863;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<262144){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>16)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ae(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+131072|0;k[o>>2]=d;d=d>>>0>33554431;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<131072){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>15)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(be(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+32768|0;k[o>>2]=d;d=d>>>0>8388607;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<32768){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>13)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;d=t;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a:do if(ce(t,b)|0){n=(a|0)>0;if(n?(k[t+12>>2]|0)==0:0){h=0;break}e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,8,0)|0;i=M;if((!((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0)?(j=k[b>>2]|0,m=j+g|0,q=m,q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24,m=m+4|0,m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24,b=f,k[b>>2]=h,k[b+4>>2]=i,b=Ej(d|0,e|0,h|0,i|0)|0,g=M,!(m>>>0>g>>>0|(m|0)==(g|0)&q>>>0>b>>>0)):0)?(s=j+h|0,j=Vj(q|0,m|0,h|0,i|0)|0,m=f,k[m>>2]=j,k[m+4>>2]=M,(q|0)>=1):0){j=t+40|0;k[j>>2]=s;d=q+-1|0;e=s+d|0;switch((l[e>>0]|0)>>>6&3){case 0:{k[t+44>>2]=d;p=(l[e>>0]|0)&63;o=t+48|0;k[o>>2]=p;break}case 1:{if((q|0)<2){h=0;break a}k[t+44>>2]=q+-2;p=s+q+-2|0;p=(l[p+1>>0]|0)<<8&16128|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}case 2:{if((q|0)<3){h=0;break a}k[t+44>>2]=q+-3;p=s+q+-3|0;p=(l[p+1>>0]|0)<<8|(l[p>>0]|0)|(l[p+2>>0]|0)<<16&4128768;o=t+48|0;k[o>>2]=p;break}case 3:{k[t+44>>2]=q+-4;p=s+q+-4|0;p=(l[p+2>>0]|0)<<16|(l[p+3>>0]|0)<<24&1056964608|(l[p+1>>0]|0)<<8|(l[p>>0]|0);o=t+48|0;k[o>>2]=p;break}default:{}}d=p+16384|0;k[o>>2]=d;d=d>>>0>4194303;if(d|n^1)h=d^1;else{g=t+48|0;h=t+44|0;i=t+16|0;b=t+28|0;f=0;d=k[g>>2]|0;while(1){b:do if(d>>>0<16384){e=k[h>>2]|0;do{if((e|0)<=0)break b;e=e+-1|0;k[h>>2]=e;d=l[(k[j>>2]|0)+e>>0]|0|d<<8;k[g>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;s=k[(k[i>>2]|0)+(p<<2)>>2]|0;q=k[b>>2]|0;d=($(k[q+(s<<3)>>2]|0,d>>>12)|0)+p-(k[q+(s<<3)+4>>2]|0)|0;k[g>>2]=d;k[c+(f<<2)>>2]=s;f=f+1|0;if((f|0)==(a|0)){h=1;break}}}}else h=0}else h=0;while(0);d=k[t+28>>2]|0;e=d;if(d|0){f=t+32|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-8-e|0)>>>3)<<3);Fl(d)}d=k[t+16>>2]|0;e=d;if(d|0){f=t+20|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}f=k[t>>2]|0;if(!f){r=u;return h|0}d=t+4|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-f|0)>>>2)<<2);Fl(f);r=u;return h|0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+16|0;v=x;w=b+8|0;g=w;f=k[g>>2]|0;g=k[g+4>>2]|0;u=b+16|0;d=u;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0){w=-1;r=x;return w|0}n=(k[b>>2]|0)+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;t=u;k[t>>2]=d;k[t+4>>2]=e;a:do if(!n)h=d;else{o=v+4|0;p=v+8|0;q=a+40|0;s=a+44|0;t=a+36|0;m=0;c=d;d=e;while(1){e=Vj(c|0,d|0,4,0)|0;h=M;if((g|0)<(h|0)|(g|0)==(h|0)&f>>>0>>0)break;j=k[b>>2]|0;y=j+c|0;k[v>>2]=l[y>>0]|l[y+1>>0]<<8|l[y+2>>0]<<16|l[y+3>>0]<<24;y=u;k[y>>2]=e;k[y+4>>2]=h;h=Vj(c|0,d|0,8,0)|0;y=M;if((g|0)<(y|0)|(g|0)==(y|0)&f>>>0>>0)break;e=j+e|0;k[o>>2]=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;e=Vj(c|0,d|0,8,0)|0;y=M;h=u;k[h>>2]=e;k[h+4>>2]=y;if(!((g|0)>(y|0)|(g|0)==(y|0)&f>>>0>e>>>0))break;y=i[j+e>>0]|0;j=Vj(c|0,d|0,9,0)|0;c=u;k[c>>2]=j;k[c+4>>2]=M;i[p>>0]=y&3|i[p>>0]&-4;c=k[q>>2]|0;if((c|0)==(k[s>>2]|0))fg(t,v);else{k[c>>2]=k[v>>2];k[c+4>>2]=k[v+4>>2];k[c+8>>2]=k[v+8>>2];k[q>>2]=(k[q>>2]|0)+12}m=m+1|0;g=w;f=k[g>>2]|0;g=k[g+4>>2]|0;d=u;c=k[d>>2]|0;d=k[d+4>>2]|0;if(m>>>0>=n>>>0){h=c;e=d;break a}}y=-1;r=x;return y|0}while(0);d=Vj(h|0,e|0,4,0)|0;c=M;if((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0){y=-1;r=x;return y|0}o=(k[b>>2]|0)+h|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;y=u;k[y>>2]=d;k[y+4>>2]=c;if(!o){y=d;r=x;return y|0}m=a+52|0;n=a+56|0;j=a+48|0;k[v>>2]=0;e=Vj(h|0,e|0,8,0)|0;c=M;b:do if(!((g|0)<(c|0)|(g|0)==(c|0)&f>>>0>>0)){f=0;while(1){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;k[v>>2]=d;y=u;k[y>>2]=e;k[y+4>>2]=c;c=k[m>>2]|0;if((c|0)==(k[n>>2]|0))vg(j,v);else{k[c>>2]=d;k[m>>2]=c+4}f=f+1|0;if(f>>>0>=o>>>0)break;a=w;y=k[a>>2]|0;a=k[a+4>>2]|0;e=u;d=k[e>>2]|0;e=k[e+4>>2]|0;k[v>>2]=0;e=Vj(d|0,e|0,4,0)|0;c=M;if((a|0)<(c|0)|(a|0)==(c|0)&y>>>0>>0)break b}y=k[u>>2]|0;r=x;return y|0}while(0);y=-1;r=x;return y|0}function nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}q=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}i=c+10|0;l=c+12|0;m=c+14|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;if((j[m>>1]|0)!=(j[g+14>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+10|0;i=c+12|0;l=c+14|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=j[c+8>>1]|0;d=c;while(1){if(m<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;if((j[l>>1]|0)!=(j[g+14>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}p=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+12|0;j=c+16|0;l=c+20|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;if((k[l>>2]|0)!=(k[g+20>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+12|0;i=c+16|0;j=c+20|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=k[c+8>>2]|0;d=c;while(1){if((l|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;if((k[j>>2]|0)!=(k[g+20>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function pc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}q=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=q;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)c=c&p;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){o=c;b:while(1){c:do if(q){c=d;while(1){n=k[c+4>>2]&p;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}j=c+9|0;l=c+10|0;m=c+11|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;if((i[m>>0]|0)!=(i[g+11>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){n=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(e|0))break c;d=(k[a>>2]|0)+(n<<2)|0;if(!(k[d>>2]|0)){e=n;break b}h=c+9|0;j=c+10|0;l=c+11|0;g=k[c>>2]|0;e:do if(!g)d=c;else{m=i[c+8>>0]|0;d=c;while(1){if(m<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;if((i[l>>0]|0)!=(i[g+11>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{r=g;g=d;d=r}}}while(0);k[o>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(n<<2)>>2]>>2];k[k[(k[a>>2]|0)+(n<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=40;break a}}}while(0);d=k[c>>2]|0;if(!d){c=40;break a}else{f=c;o=c}}k[d>>2]=o;d=k[c>>2]|0;if(!d){c=40;break}else f=c}if((c|0)==40)return}function qc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;v=a+8|0;k[v>>2]=e;s=e>>>0>1073741823?-1:e<<2;w=Cl(s)|0;Jh(w|0,0,s|0)|0;Xf(v,w,b,c,0);s=k[a+24>>2]|0;t=a+32|0;f=k[t>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;r=h-g|0;u=r>>2;if((r|0)<=4){Dl(w);return 1}n=k[a+28>>2]|0;o=(e|0)>0;p=s+64|0;q=s+28|0;r=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){B=6;break}m=k[g+(d<<2)>>2]|0;if(o)Jh(w|0,0,r|0)|0;if((m|0)>-1){l=k[s>>2]|0;f=0;j=m;while(1){do if(((k[l+(j>>>5<<2)>>2]&1<<(j&31)|0)==0?(x=k[(k[(k[p>>2]|0)+12>>2]|0)+(j<<2)>>2]|0,(x|0)>-1):0)?(A=k[q>>2]|0,i=k[n>>2]|0,y=k[i+(k[A+(x<<2)>>2]<<2)>>2]|0,z=x+1|0,z=k[i+(k[A+((((z|0)%3|0|0)==0?x+-2|0:z)<<2)>>2]<<2)>>2]|0,A=k[i+(k[A+((((x>>>0)%3|0|0)==0?2:-1)+x<<2)>>2]<<2)>>2]|0,(y|0)<(d|0)&(z|0)<(d|0)&(A|0)<(d|0)):0){g=$(y,e)|0;h=$(z,e)|0;i=$(A,e)|0;if(o)a=0;else{f=f+1|0;B=18;break}do{C=w+(a<<2)|0;k[C>>2]=(k[c+(a+i<<2)>>2]|0)+(k[c+(a+h<<2)>>2]|0)-(k[c+(a+g<<2)>>2]|0)+(k[C>>2]|0);a=a+1|0}while((a|0)!=(e|0));f=f+1|0;if((j|0)<0){g=f;f=j}else B=18}else B=18;while(0);do if((B|0)==18){B=0;if(!((j>>>0)%3|0)){g=f;f=j+2|0;break}else{g=f;f=j+-1|0;break}}while(0);do if(!(1<<(f&31)&k[l+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[p>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);j=(f|0)==(m|0)?-1073741824:f;if((j|0)<=-1)break;else f=g}f=$(d,e)|0;if(!g)B=30;else{if(o){a=0;do{C=w+(a<<2)|0;k[C>>2]=(k[C>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}Xf(v,w,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;B=30}if((B|0)==30){B=0;Xf(v,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(u|0)){B=3;break}f=k[t>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((B|0)==3){Dl(w);return 1}else if((B|0)==6)Jk(f);return 0}function rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;m=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;j=m;m=m+4|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;a=c;k[a>>2]=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[a+4>>2]=m;c=c+8|0;k[c>>2]=0;k[c+4>>2]=0;c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;zi(c|0,(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;o[c+12>>2]=0.0;c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;zi(c|0,(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,16)|0;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=vd(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=ud(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=Wc(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=Uc(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=Hc(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=Ic(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function sc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;y=k[a+24>>2]|0;v=k[a+28>>2]|0;r=e>>>0>1073741823?-1:e<<2;w=Cl(r)|0;Jh(w|0,0,r|0)|0;r=a+32|0;g=k[r>>2]|0;a=k[g+4>>2]|0;f=k[g>>2]|0;d=a-f|0;a:do if((d|0)>4){s=(e|0)>0;t=y+12|0;u=e<<2;q=d>>2;d=g;while(1){p=q+-1|0;if(a-f>>2>>>0<=p>>>0)break;o=k[f+(p<<2)>>2]|0;if(s)Jh(w|0,0,u|0)|0;if((o|0)>-1){n=k[t>>2]|0;a=0;m=o;do{f=k[n+(m<<2)>>2]|0;if((f|0)>-1){h=k[y>>2]|0;g=(f>>>0)%3|0;i=k[v>>2]|0;l=k[i+(k[h+(((f>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;d=f+1|0;d=((d|0)%3|0|0)==0?f+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;j=k[i+(d<<2)>>2]|0;d=((g|0)==0?2:-1)+f|0;if((d|0)<0)d=-1073741824;else d=k[h+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=k[i+(d<<2)>>2]|0;if((l|0)<(p|0)&(j|0)<(p|0)&(d|0)<(p|0)){h=$(l,e)|0;g=$(j,e)|0;f=$(d,e)|0;if(s){d=0;do{l=w+(d<<2)|0;k[l>>2]=(k[b+(d+f<<2)>>2]|0)+(k[b+(d+g<<2)>>2]|0)-(k[b+(d+h<<2)>>2]|0)+(k[l>>2]|0);d=d+1|0}while((d|0)!=(e|0))}a=a+1|0}}d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((d|0)>=0){d=k[n+(d<<2)>>2]|0;if((d|0)>=0)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);m=(d|0)==(o|0)?-1073741824:d}while((m|0)>-1);d=$(p,e)|0;if(!a)A=30;else{if(s){f=0;do{q=w+(f<<2)|0;k[q>>2]=(k[q>>2]|0)/(a|0)|0;f=f+1|0}while((f|0)!=(e|0))}re(x,b+(d<<2)|0,w,c,d)}}else{d=$(p,e)|0;A=30}if((A|0)==30){A=0;re(x,b+(d<<2)|0,b+(($(q+-2|0,e)|0)<<2)|0,c,d)}if((p|0)<=1){z=w;break a}d=k[r>>2]|0;q=p;f=k[d>>2]|0;a=k[d+4>>2]|0}Jk(d)}else z=w;while(0);if((e|0)<=0){re(x,b,z,c,0);Dl(w);return 1}Jh(w|0,0,e<<2|0)|0;re(x,b,z,c,0);Dl(w);return 1}function tc(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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;p=t+24|0;q=t+12|0;s=t;f=a+24|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((e|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}else{m=-1073741824;b=-1073741824}e=k[a+28>>2]|0;f=k[e+4>>2]|0;g=k[e>>2]|0;if(f-g>>2>>>0<=b>>>0)Jk(e);n=k[g+(b<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Jk(e);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+48>>2]|0;g=$(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=$(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){of(p,a,d);of(q,a,n);of(s,a,e);B=+o[q>>2];w=+o[s>>2]-B;A=+o[q+4>>2];x=+o[s+4>>2]-A;z=+o[q+8>>2];y=+o[s+8>>2]-z;B=+o[p>>2]-B;A=+o[p+4>>2]-A;z=+o[p+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+P(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;q=a+56|0;c=(k[q>>2]|0)+-1|0;s=(1<<(c&31)&k[(k[a+52>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[q>>2]=c;q=~~+N(+(i+w*u+(s?v:-v)+.5));c=k[a+44>>2]|0;k[c>>2]=q;a=~~+N(+(j+h*u+(s?-l:l)+.5));k[c+4>>2]=a;r=t;return}else{c=k[a+44>>2]|0;k[c>>2]=~~l;k[c+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;b=k[g>>2]|0;f=$(b,n)|0}else{if((d|0)>0){g=a+48|0;b=k[g>>2]|0;f=$(b,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[g>>2]|0));r=t;return}function uc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=Cl(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)Dl(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;i=k[o>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;if((f|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;f=(f>>2)+-1|0;while(1){if(h-g>>2>>>0<=f>>>0){f=22;break}k[z>>2]=k[g+(f<<2)>>2];k[y>>2]=k[z>>2];$b(a,y,b,f);n=$(f,e)|0;m=b+(n<<2)|0;d=k[x>>2]|0;if((k[w>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[p>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;i=k[q>>2]|0;h=i+(l<<2)|0;if((j|0)<(g|0)){k[h>>2]=g;break}else{k[h>>2]=j;break}}else{i=k[q>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[w>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+n<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[w>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+n<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[t>>2]|0)){if((i|0)>(k[v>>2]|0))k[h>>2]=i-(k[u>>2]|0)}else k[h>>2]=(k[u>>2]|0)+i;g=g+1|0}while((g|0)<(k[w>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=19;break}i=k[o>>2]|0;g=k[i>>2]|0;h=k[i+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Jk(i);return 0}function vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+16|0;y=A+4|0;z=A;k[a+72>>2]=e;k[a+64>>2]=f;x=a+68|0;w=Cl(e>>>0>1073741823?-1:e<<2)|0;f=k[x>>2]|0;k[x>>2]=w;if(f|0)Dl(f);w=a+8|0;k[w>>2]=e;do if(d|0){f=k[b>>2]|0;j=a+16|0;k[j>>2]=f;l=a+12|0;k[l>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[j>>2]=g;f=g;g=h}else g=h;else k[l>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;v=1-g+f|0;k[a+20>>2]=v;f=(v|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(v&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=a+56|0;i=k[o>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;if((f|0)<=0){r=A;return 1}p=a+16|0;q=a+32|0;s=a+12|0;t=a+28|0;u=a+20|0;v=a+24|0;f=(f>>2)+-1|0;while(1){if(h-g>>2>>>0<=f>>>0){f=22;break}k[z>>2]=k[g+(f<<2)>>2];k[y>>2]=k[z>>2];Yb(a,y,b,f);n=$(f,e)|0;m=b+(n<<2)|0;d=k[x>>2]|0;if((k[w>>2]|0)>0){l=0;do{j=k[d+(l<<2)>>2]|0;g=k[p>>2]|0;do if((j|0)<=(g|0)){g=k[s>>2]|0;i=k[q>>2]|0;h=i+(l<<2)|0;if((j|0)<(g|0)){k[h>>2]=g;break}else{k[h>>2]=j;break}}else{i=k[q>>2]|0;k[i+(l<<2)>>2]=g}while(0);l=l+1|0;g=k[w>>2]|0}while((l|0)<(g|0));if((g|0)>0){g=0;do{k[c+(g+n<<2)>>2]=(k[m+(g<<2)>>2]|0)-(k[i+(g<<2)>>2]|0);g=g+1|0;h=k[w>>2]|0}while((g|0)<(h|0));if((h|0)>0){g=0;do{h=c+(g+n<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[t>>2]|0)){if((i|0)>(k[v>>2]|0))k[h>>2]=i-(k[u>>2]|0)}else k[h>>2]=(k[u>>2]|0)+i;g=g+1|0}while((g|0)<(k[w>>2]|0))}}}f=f+-1|0;if((f|0)<=-1){f=19;break}i=k[o>>2]|0;g=k[i>>2]|0;h=k[i+4>>2]|0}if((f|0)==19){r=A;return 1}else if((f|0)==22)Jk(i);return 0}function wc(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.0,i=0.0,j=0.0,l=0.0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;p=t+24|0;q=t+12|0;s=t;f=a+48|0;e=k[b>>2]|0;b=e+1|0;if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;e=e+(((e>>>0)%3|0|0)==0?2:-1)|0;if((b|0)<0)b=-1073741824;else b=k[(k[k[f>>2]>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;if((e|0)<0)m=-1073741824;else m=k[(k[k[f>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0}else{m=-1073741824;b=-1073741824}e=k[a+52>>2]|0;f=k[e+4>>2]|0;g=k[e>>2]|0;if(f-g>>2>>>0<=b>>>0)Jk(e);n=k[g+(b<<2)>>2]|0;if(f-g>>2>>>0<=m>>>0)Jk(e);e=k[g+(m<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){m=k[a+72>>2]|0;g=$(m,n)|0;i=+(k[c+(g<<2)>>2]|0);j=+(k[c+(g+1<<2)>>2]|0);m=$(m,e)|0;l=+(k[c+(m<<2)>>2]|0);h=+(k[c+(m+1<<2)>>2]|0);if(l!=i|h!=j){pf(p,a,d);pf(q,a,n);pf(s,a,e);B=+o[q>>2];w=+o[s>>2]-B;A=+o[q+4>>2];x=+o[s+4>>2]-A;z=+o[q+8>>2];y=+o[s+8>>2]-z;B=+o[p>>2]-B;A=+o[p+4>>2]-A;z=+o[p+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+P(+((y*y+(x*x+(w*w+0.0)))/v));w=l-i;h=h-j;l=w*v;v=h*v;q=a+80|0;c=(k[q>>2]|0)+-1|0;s=(1<<(c&31)&k[(k[a+76>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[q>>2]=c;q=~~+N(+(i+w*u+(s?v:-v)+.5));c=k[a+68>>2]|0;k[c>>2]=q;a=~~+N(+(j+h*u+(s?-l:l)+.5));k[c+4>>2]=a;r=t;return}else{c=k[a+68>>2]|0;k[c>>2]=~~l;k[c+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;b=k[g>>2]|0;f=$(b,n)|0}else{if((d|0)>0){g=a+72|0;b=k[g>>2]|0;f=$(b,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[g>>2]|0));r=t;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;o=w+32|0;p=w+28|0;q=w+24|0;s=w+20|0;t=w+16|0;u=w;v=b+24|0;j=i[v>>0]|0;m=j<<24>>24;n=k[a+64>>2]|0;a=$(n,m)|0;k[u>>2]=k[196];k[u+4>>2]=k[197];k[u+8>>2]=k[198];k[u+12>>2]=k[199];d=c+4|0;g=k[d>>2]|0;f=k[c>>2]|0;e=g-f>>2;if(a>>>0<=e>>>0){if(a>>>0>>0?(h=f+(a<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else kg(c,a-e|0);if((n|0)<=0){v=1;r=w;return v|0}h=b+84|0;l=b+68|0;a:do if(j<<24>>24>0){f=0;g=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(g<<2)>>2]|0;else a=g;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Ec(b,o,u)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=cc(b,o,u)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=yc(b,o,u)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=rc(b,o,u)|0;break}default:break a}if(!a){a=0;d=29;break}e=k[c>>2]|0;a=0;d=f;while(1){k[e+(d<<2)>>2]=k[u+(a<<2)>>2];a=a+1|0;if((a|0)==(m|0))break;else d=d+1|0}g=g+1|0;if((g|0)>=(n|0)){a=1;d=29;break}else f=m+f|0}if((d|0)==29){r=w;return a|0}}else{d=0;while(1){if(!(i[h>>0]|0))a=k[(k[l>>2]|0)+(d<<2)>>2]|0;else a=d;switch(i[v>>0]|0){case 1:{k[p>>2]=a;k[o>>2]=k[p>>2];a=Ec(b,o,u)|0;break}case 2:{k[q>>2]=a;k[o>>2]=k[q>>2];a=cc(b,o,u)|0;break}case 3:{k[s>>2]=a;k[o>>2]=k[s>>2];a=yc(b,o,u)|0;break}case 4:{k[t>>2]=a;k[o>>2]=k[t>>2];a=rc(b,o,u)|0;break}default:break a}if(!a){a=0;d=29;break}d=d+1|0;if((d|0)>=(n|0)){a=1;d=29;break}}if((d|0)==29){r=w;return a|0}}while(0);v=0;r=w;return v|0}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;m=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;j=m;m=m+4|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;a=c;k[a>>2]=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;k[a+4>>2]=m;o[c+8>>2]=0.0;c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;zi(c|0,(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;zi(c|0,(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0,12)|0;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=Fd(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=zd(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=dd(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=$c(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=Qc(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=Rc(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function zc(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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;p=t+24|0;q=t+12|0;s=t;g=a+24|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);g=k[(k[g>>2]|0)+28>>2]|0;e=k[g+(b<<2)>>2]|0;b=k[g+(f<<2)>>2]|0;f=k[a+28>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=e>>>0)Jk(f);n=k[i+(e<<2)>>2]|0;if(g-i>>2>>>0<=b>>>0)Jk(f);e=k[i+(b<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+48>>2]|0;g=$(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=$(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){of(p,a,d);of(q,a,n);of(s,a,e);B=+o[q>>2];w=+o[s>>2]-B;A=+o[q+4>>2];x=+o[s+4>>2]-A;z=+o[q+8>>2];y=+o[s+8>>2]-z;B=+o[p>>2]-B;A=+o[p+4>>2]-A;z=+o[p+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+P(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;q=a+56|0;c=(k[q>>2]|0)+-1|0;s=(1<<(c&31)&k[(k[a+52>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[q>>2]=c;q=~~+N(+(j+w*u+(s?v:-v)+.5));c=k[a+44>>2]|0;k[c>>2]=q;a=~~+N(+(l+h*u+(s?-m:m)+.5));k[c+4>>2]=a;r=t;return}else{c=k[a+44>>2]|0;k[c>>2]=~~m;k[c+4>>2]=~~h;r=t;return}}do if(b){g=a+48|0;b=k[g>>2]|0;f=$(b,n)|0}else{if((d|0)>0){g=a+48|0;b=k[g>>2]|0;f=$(b,d+-1|0)|0;break}f=a+48|0;if((k[f>>2]|0)<=0){r=t;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}e=k[a+44>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[g>>2]|0));r=t;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}p=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}i=c+10|0;l=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;if((j[l>>1]|0)!=(j[g+12>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+10|0;i=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=j[c+8>>1]|0;d=c;while(1){if(l<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;if((j[i>>1]|0)!=(j[g+12>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}o=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+12|0;j=c+16|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;if((k[j>>2]|0)!=(k[g+16>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+12|0;i=c+16|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=k[c+8>>2]|0;d=c;while(1){if((j|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;if((k[i>>2]|0)!=(k[g+16>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function Cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}p=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=p;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)c=c&o;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=k[c+4>>2]&o;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}j=c+9|0;l=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;if((i[l>>0]|0)!=(i[g+10>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){m=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(k[a>>2]|0)+(m<<2)|0;if(!(k[d>>2]|0)){e=m;break b}h=c+9|0;j=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{l=i[c+8>>0]|0;d=c;while(1){if(l<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;if((i[j>>0]|0)!=(i[g+10>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{q=g;g=d;d=q}}}while(0);k[n>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(m<<2)>>2]>>2];k[k[(k[a>>2]|0)+(m<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=38;break a}}}while(0);d=k[c>>2]|0;if(!d){c=38;break a}else{f=c;n=c}}k[d>>2]=n;d=k[c>>2]|0;if(!d){c=38;break}else f=c}if((c|0)==38)return}function Dc(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.0,i=0,j=0.0,l=0.0,m=0.0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=r;r=r+48|0;p=t+24|0;q=t+12|0;s=t;g=a+48|0;e=k[b>>2]|0;b=e+1|0;do if((e|0)>=0){b=((b|0)%3|0|0)==0?e+-2|0:b;if(!((e>>>0)%3|0)){f=e+2|0;break}else{f=e+-1|0;break}}else{f=e;b=e}while(0);g=k[(k[g>>2]|0)+28>>2]|0;e=k[g+(b<<2)>>2]|0;b=k[g+(f<<2)>>2]|0;f=k[a+52>>2]|0;g=k[f+4>>2]|0;i=k[f>>2]|0;if(g-i>>2>>>0<=e>>>0)Jk(f);n=k[i+(e<<2)>>2]|0;if(g-i>>2>>>0<=b>>>0)Jk(f);e=k[i+(b<<2)>>2]|0;b=(n|0)<(d|0);if(b&(e|0)<(d|0)){i=k[a+72>>2]|0;g=$(i,n)|0;j=+(k[c+(g<<2)>>2]|0);l=+(k[c+(g+1<<2)>>2]|0);i=$(i,e)|0;m=+(k[c+(i<<2)>>2]|0);h=+(k[c+(i+1<<2)>>2]|0);if(m!=j|h!=l){pf(p,a,d);pf(q,a,n);pf(s,a,e);B=+o[q>>2];w=+o[s>>2]-B;A=+o[q+4>>2];x=+o[s+4>>2]-A;z=+o[q+8>>2];y=+o[s+8>>2]-z;B=+o[p>>2]-B;A=+o[p+4>>2]-A;z=+o[p+8>>2]-z;v=w*w+0.0+x*x+y*y;u=(w*B+0.0+x*A+y*z)/v;w=B-w*u;x=A-x*u;y=z-y*u;v=+P(+((y*y+(x*x+(w*w+0.0)))/v));w=m-j;h=h-l;m=w*v;v=h*v;q=a+80|0;c=(k[q>>2]|0)+-1|0;s=(1<<(c&31)&k[(k[a+76>>2]|0)+(c>>>5<<2)>>2]|0)==0;k[q>>2]=c;q=~~+N(+(j+w*u+(s?v:-v)+.5));c=k[a+68>>2]|0;k[c>>2]=q;a=~~+N(+(l+h*u+(s?-m:m)+.5));k[c+4>>2]=a;r=t;return}else{c=k[a+68>>2]|0;k[c>>2]=~~m;k[c+4>>2]=~~h;r=t;return}}do if(b){g=a+72|0;b=k[g>>2]|0;f=$(b,n)|0}else{if((d|0)>0){g=a+72|0;b=k[g>>2]|0;f=$(b,d+-1|0)|0;break}f=a+72|0;if((k[f>>2]|0)<=0){r=t;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(k[f>>2]|0));r=t;return}while(0);if((b|0)<=0){r=t;return}e=k[a+68>>2]|0;b=0;do{k[e+(b<<2)>>2]=k[c+(b+f<<2)>>2];b=b+1|0}while((b|0)<(k[g>>2]|0));r=t;return}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;j=n+4|0;m=n;if(!c){c=0;r=n;return c|0}switch(k[a+28>>2]|0){case 9:{d=k[b>>2]|0;switch(i[a+24>>0]|0){case 1:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 2:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 3:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}case 4:{m=a+48|0;j=k[m>>2]|0;m=k[m+4>>2]|0;h=a+40|0;a=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0,M|0,j|0,m|0)|0)+(k[k[a>>2]>>2]|0)|0;k[c>>2]=l[a>>0]|l[a+1>>0]<<8|l[a+2>>0]<<16|l[a+3>>0]<<24;c=1;r=n;return c|0}default:{c=0;r=n;return c|0}}}case 2:{k[e>>2]=k[b>>2];k[d>>2]=k[e>>2];c=xe(a,d,c)|0;r=n;return c|0}case 1:{k[f>>2]=k[b>>2];k[d>>2]=k[f>>2];c=we(a,d,c)|0;r=n;return c|0}case 4:{k[g>>2]=k[b>>2];k[d>>2]=k[g>>2];c=oe(a,d,c)|0;r=n;return c|0}case 3:{k[h>>2]=k[b>>2];k[d>>2]=k[h>>2];c=me(a,d,c)|0;r=n;return c|0}case 6:{k[j>>2]=k[b>>2];k[d>>2]=k[j>>2];c=ge(a,d,c)|0;r=n;return c|0}case 5:{k[m>>2]=k[b>>2];k[d>>2]=k[m>>2];c=he(a,d,c)|0;r=n;return c|0}default:{c=0;r=n;return c|0}}return 0}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;x=A;y=A+64|0;z=b+8|0;u=z;v=k[u>>2]|0;u=k[u+4>>2]|0;w=b+16|0;d=w;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((u|0)<(e|0)|(u|0)==(e|0)&v>>>0>>0){z=0;r=A;return z|0}v=(k[b>>2]|0)+c|0;v=l[v>>0]|l[v+1>>0]<<8|l[v+2>>0]<<16|l[v+3>>0]<<24;u=w;k[u>>2]=d;k[u+4>>2]=e;if((v|0)<1){z=0;r=A;return z|0}u=a+4|0;c=a+8|0;f=k[c>>2]|0;e=k[u>>2]|0;d=f-e>>2;if(v>>>0<=d>>>0){if(v>>>0>>0?(g=e+(v<<2)|0,(f|0)!=(g|0)):0)k[c>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else kg(u,v-d|0);s=k[a+20>>2]|0;t=x+60|0;q=0;while(1){n=z;m=k[n>>2]|0;n=k[n+4>>2]|0;a=w;d=k[a>>2]|0;a=k[a+4>>2]|0;if(!((n|0)>(a|0)|(n|0)==(a|0)&m>>>0>d>>>0)){c=0;d=27;break}o=k[b>>2]|0;p=i[o+d>>0]|0;c=Vj(d|0,a|0,1,0)|0;h=M;g=w;k[g>>2]=c;k[g+4>>2]=h;if(!((n|0)>(h|0)|(n|0)==(h|0)&m>>>0>c>>>0)){c=0;d=27;break}h=i[o+c>>0]|0;c=Vj(d|0,a|0,2,0)|0;g=M;f=w;k[f>>2]=c;k[f+4>>2]=g;if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>c>>>0)){c=0;d=27;break}g=i[o+c>>0]|0;c=Vj(d|0,a|0,3,0)|0;f=M;e=w;k[e>>2]=c;k[e+4>>2]=f;if(!((n|0)>(f|0)|(n|0)==(f|0)&m>>>0>c>>>0)){c=0;d=27;break}e=i[o+c>>0]|0;f=Vj(d|0,a|0,4,0)|0;c=w;k[c>>2]=f;k[c+4>>2]=M;c=Vj(d|0,a|0,6,0)|0;d=M;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){c=0;d=27;break}a=o+f|0;a=l[a>>0]|l[a+1>>0]<<8;n=w;k[n>>2]=c;k[n+4>>2]=d;n=h&255;ei(x);o=$(qi(n)|0,g&255)|0;Rg(x,p&255,0,g,n,e<<24>>24!=0,o,((o|0)<0)<<31>>31,0,0);j[t>>1]=a;a=bj(88)|0;gi(a,x);k[y>>2]=a;a=$f(s,y)|0;g=k[y>>2]|0;k[y>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}p=g+64|0;c=k[p>>2]|0;k[p>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Fl(d)}Fl(c)}Fl(g)}k[(k[u>>2]|0)+(q<<2)>>2]=a;q=q+1|0;if((q|0)>=(v|0)){c=1;d=27;break}}if((d|0)==27){r=A;return c|0}return 0}function Gc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;g=a+92|0;h=k[b>>2]|0;i=(h|0)<0;j=h+1|0;do if(!i){b=((j|0)%3|0|0)==0?h+-2|0:j;if(!((h>>>0)%3|0)){e=h+2|0;d=b;break}else{e=h+-1|0;d=b;break}}else{e=h;d=h}while(0);f=a+128|0;b=k[f>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 5:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+1;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}case 3:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+1;c=32;break}case 7:{if(i)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((h>>>0)/3|0)*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;c=k[a+100>>2]|0;b=c+(b<<2)|0;k[b>>2]=(k[b>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;d=c+(b<<2)|0;k[d>>2]=(k[d>>2]|0)+2;if((e|0)<0)b=-1073741824;else b=k[(k[k[g>>2]>>2]|0)+(((e>>>0)/3|0)*12|0)+(((e>>>0)%3|0)<<2)>>2]|0;c=c+(b<<2)|0;k[c>>2]=(k[c>>2]|0)+2;c=32;break}default:{}}if((c|0)==32)b=k[f>>2]|0;switch(b|0){case 5:case 0:break;default:{k[a+132>>2]=-1;return}}b=k[g>>2]|0;if(!i?(l=((j|0)%3|0|0)==0?h+-2|0:j,(l|0)>=0):0)b=k[(k[b>>2]|0)+(((l>>>0)/3|0)*12|0)+(((l>>>0)%3|0)<<2)>>2]|0;else b=-1073741824;k[a+132>>2]=(k[(k[a+100>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b>>>0);d=+(f>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;e=+(b>>>0)*2.3283064365386963e-10;d=+(f>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+((l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(f>>>0);o[c+12>>2]=+(g>>>0);h=1;return h|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(f>>>0)*2.3283064365386963e-10;o[c+12>>2]=+(g>>>0)*2.3283064365386963e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;b=a+48|0;h=k[b>>2]|0;b=k[b+4>>2]|0;f=a+40|0;b=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,h|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;h=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+4|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=h+8|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b|0);d=+(f|0)}else{o[c>>2]=d*4.656612873077393e-10;e=+(b|0)*4.656612873077393e-10;d=+(f|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;f=h+8|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;g=h+12|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;d=+(l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(f|0);o[c+12>>2]=+(g|0);h=1;return h|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(f|0)*4.656612873077393e-10;o[c+12>>2]=+(g|0)*4.656612873077393e-10;h=1;return h|0}}default:{h=0;return h|0}}return 0}function Jc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (M=n,e)|0}else{if(!f){n=0;e=0;return (M=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (M=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (M=n,e)|0}f=g-1|0;if(f&g|0){h=(ca(g|0)|0)+33-(ca(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e|0){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (M=o,p)|0}else{p=Ii(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (M=o,p)|0}}else{if(f){if(e|0){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (M=o,p)|0}if(!l){if(e|0){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (M=o,p)|0}f=h-1|0;if(!(f&h)){if(e|0){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((Ii(h|0)|0)>>>0);return (M=o,p)|0}f=(ca(h|0)|0)-(ca(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (M=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=Vj(m|0,l|0,-1,-1)|0;c=M;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Ej(j|0,c|0,d|0,n|0)|0;p=M;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=Ej(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=M;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e|0){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (M=o,p)|0}function Kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;x=a+8|0;k[x>>2]=e;u=e>>>0>1073741823?-1:e<<2;y=Cl(u)|0;Jh(y|0,0,u|0)|0;Xf(x,y,b,c,0);u=k[a+24>>2]|0;v=a+32|0;f=k[v>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;t=h-g|0;w=t>>2;if((t|0)<=4){Dl(y);return 1}q=k[a+28>>2]|0;r=(e|0)>0;s=u+12|0;t=e<<2;d=1;a=h;while(1){if(a-g>>2>>>0<=d>>>0){z=6;break}p=k[g+(d<<2)>>2]|0;if(r)Jh(y|0,0,t|0)|0;if((p|0)>-1){o=k[s>>2]|0;g=0;n=p;do{a=k[o+(n<<2)>>2]|0;if((a|0)>-1){i=k[u>>2]|0;h=(a>>>0)%3|0;j=k[q>>2]|0;m=k[j+(k[i+(((a>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=a+1|0;f=((f|0)%3|0|0)==0?a+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;l=k[j+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+a|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[j+(f<<2)>>2]|0;if((m|0)<(d|0)&(l|0)<(d|0)&(f|0)<(d|0)){i=$(m,e)|0;h=$(l,e)|0;a=$(f,e)|0;if(r){f=0;do{m=y+(f<<2)|0;k[m>>2]=(k[c+(f+a<<2)>>2]|0)+(k[c+(f+h<<2)>>2]|0)-(k[c+(f+i<<2)>>2]|0)+(k[m>>2]|0);f=f+1|0}while((f|0)!=(e|0))}g=g+1|0}}f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f}while((n|0)>-1);f=$(d,e)|0;if(!g)z=28;else{if(r){a=0;do{p=y+(a<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;a=a+1|0}while((a|0)!=(e|0))}Xf(x,y,b,c+(f<<2)|0,f)}}else{f=$(d,e)|0;z=28}if((z|0)==28){z=0;Xf(x,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(w|0)){z=3;break}f=k[v>>2]|0;g=k[f>>2]|0;a=k[f+4>>2]|0}if((z|0)==3){Dl(y);return 1}else if((z|0)==6)Jk(f);return 0}function Lc(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;f=k[a+4>>2]|0;if((c|0)<=-1)Ja(9535,9551,54,9579);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(c|0))Ja(9589,9551,55,9579);g=k[e+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(Ta[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){d=0;return d|0}h=Ta[k[(k[a>>2]|0)+36>>2]&127](a)|0;i=Xa[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;if((h|0)==0|(i|0)==0){d=0;return d|0}c=Xa[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;e=k[a+24>>2]|0;f=i+12|0;if(!c)switch(b|0){case 1:{b=bj(36)|0;k[b+4>>2]=g;g=b+8|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4048;d=b;return d|0}case 2:{b=bj(36)|0;k[b+4>>2]=g;g=b+8|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4112;d=b;return d|0}case 3:{b=bj(64)|0;k[b+4>>2]=g;g=b+8|0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+4>>2];k[g+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=h;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=4176;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}else switch(b|0){case 1:{b=bj(36)|0;k[b+4>>2]=g;h=b+8|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3856;d=b;return d|0}case 2:{b=bj(36)|0;k[b+4>>2]=g;h=b+8|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3920;d=b;return d|0}case 3:{b=bj(64)|0;k[b+4>>2]=g;h=b+8|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];k[h+8>>2]=k[d+8>>2];k[b+20>>2]=e;k[b+24>>2]=c;k[b+28>>2]=f;k[b+32>>2]=i;k[b>>2]=3984;d=b+36|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;d=b;return d|0}default:{d=0;return d|0}}return 0}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}o=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}i=c+10|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=j[c+8>>1]|0;d=c;while(1){if(h<<16>>16!=(j[g+8>>1]|0))break d;if((j[i>>1]|0)!=(j[g+10>>1]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+10|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=j[c+8>>1]|0;d=c;while(1){if(i<<16>>16!=(j[g+8>>1]|0))break e;if((j[h>>1]|0)!=(j[g+10>>1]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}n=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){j=k[c+4>>2]&m;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}i=c+12|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=k[c+8>>2]|0;d=c;while(1){if((h|0)!=(k[g+8>>2]|0))break d;if((k[i>>2]|0)!=(k[g+12>>2]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break c;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){e=j;break b}h=c+12|0;g=k[c>>2]|0;e:do if(!g)d=c;else{i=k[c+8>>2]|0;d=c;while(1){if((i|0)!=(k[g+8>>2]|0))break e;if((k[h>>2]|0)!=(k[g+12>>2]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{o=g;g=d;d=o}}}while(0);k[l>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;l=c}}k[d>>2]=l;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}o=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=o;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)c=c&n;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=k[c+4>>2]&n;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}j=c+9|0;g=k[c>>2]|0;d:do if(!g)d=c;else{h=i[c+8>>0]|0;d=c;while(1){if(h<<24>>24!=(i[g+8>>0]|0))break d;if((i[j>>0]|0)!=(i[g+9>>0]|0))break d;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){e=l;break b}h=c+9|0;g=k[c>>2]|0;e:do if(!g)d=c;else{j=i[c+8>>0]|0;d=c;while(1){if(j<<24>>24!=(i[g+8>>0]|0))break e;if((i[h>>0]|0)!=(i[g+9>>0]|0))break e;d=k[g>>2]|0;if(!d){d=g;break}else{p=g;g=d;d=p}}}while(0);k[m>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=36;break a}}}while(0);d=k[c>>2]|0;if(!d){c=36;break a}else{f=c;m=c}}k[d>>2]=m;d=k[c>>2]|0;if(!d){c=36;break}else f=c}if((c|0)==36)return}function Pc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+8|0;k[t>>2]=e;i=a+32|0;j=a+36|0;h=k[j>>2]|0;g=k[i>>2]|0;f=h-g>>2;if(f>>>0>=e>>>0)if(f>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){k[j>>2]=h+(~((h+-4-l|0)>>>2)<<2);f=e}else f=e;else{kg(i,e-f|0);f=k[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Cl(r)|0;Jh(s|0,0,r|0)|0;if((f|0)>0){m=a+16|0;l=a+32|0;n=a+12|0;j=0;do{i=k[s+(j<<2)>>2]|0;f=k[m>>2]|0;do if((i|0)<=(f|0)){f=k[n>>2]|0;g=k[l>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[l>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));if((f|0)>0){g=0;do{k[c+(g<<2)>>2]=(k[b+(g<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){i=a+20|0;h=0;do{f=c+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[m>>2]|0)){if((g|0)<(k[n>>2]|0))k[f>>2]=(k[i>>2]|0)+g}else k[f>>2]=g-(k[i>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}if((e|0)>=(d|0)){Dl(s);return 1}o=0-e|0;p=a+16|0;q=a+32|0;r=a+12|0;a=a+20|0;n=e;do{m=c+(n<<2)|0;l=m+(o<<2)|0;if((f|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[p>>2]|0;do if((i|0)<=(f|0)){f=k[r>>2]|0;g=k[q>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[q>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[t>>2]|0}while((j|0)<(f|0));if((f|0)>0){g=0;do{k[m+(g<<2)>>2]=(k[b+(g+n<<2)>>2]|0)+(k[h+(g<<2)>>2]|0);g=g+1|0;f=k[t>>2]|0}while((g|0)<(f|0));if((f|0)>0){h=0;do{f=m+(h<<2)|0;g=k[f>>2]|0;if((g|0)<=(k[p>>2]|0)){if((g|0)<(k[r>>2]|0))k[f>>2]=(k[a>>2]|0)+g}else k[f>>2]=g-(k[a>>2]|0);h=h+1|0;f=k[t>>2]|0}while((h|0)<(f|0))}}}n=n+e|0}while((n|0)<(d|0));Dl(s);return 1}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b>>>0)}else{o[c>>2]=d*2.3283064365386963e-10;d=+(b>>>0)*2.3283064365386963e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);o[c+8>>2]=+(e>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;o[c+8>>2]=+(e>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b|0)}else{o[c>>2]=d*4.656612873077393e-10;d=+(b|0)*4.656612873077393e-10}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;e=g+8|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);o[c+8>>2]=+(e|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;o[c+8>>2]=+(e|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+56|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0}cj(m);oh(m);e=k[a+52>>2]|0;g=k[d>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){Mg(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){Mg(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0;Mg(m);r=n;return 1}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n+40|0;l=n+36|0;c=n+32|0;m=n;d=a+80|0;k[c>>2]=k[d>>2];i=b+16|0;h=i;g=k[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0)){k[l>>2]=k[b+4>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0}cj(m);oh(m);e=k[a+76>>2]|0;g=k[d>>2]|0;f=g>>>5;h=e+(f<<2)|0;g=g&31;d=(f|0)!=0;a:do if(f|g|0){if(!g){c=1;f=e;while(1){if(d){d=0;while(1){e=(k[f>>2]&1<>2]&1<>2]&1<>2]&1<>2]|0;if((g|0)>0|(g|0)==0&(k[h>>2]|0)>>>0>0){Mg(m);r=n;return 1}d=b+4|0;k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0;h=k[i+4>>2]|0;c=a+16|0;if((h|0)>0|(h|0)==0&(k[i>>2]|0)>>>0>0){Mg(m);r=n;return 1}k[l>>2]=k[d>>2];k[j>>2]=k[l>>2];Vd(b,j,c,c+4|0)|0;Mg(m);r=n;return 1}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?e:e/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+((h&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<16>>16);d=+(f<<16>>16)}else{o[c>>2]=d/32767.0;e=+(b<<16>>16)/32767.0;d=+(f<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Aj(g|0,j|0,16)|0)&65535;f=j&65535;a=(Aj(g|0,j|0,48)|0)&65535;d=+((g&65535)<<16>>16);if(h){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(f<<16>>16);o[c+12>>2]=+(a<<16>>16);j=1;return j|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(f<<16>>16)/32767.0;o[c+12>>2]=+(a<<16>>16)/32767.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=Ta[k[(k[a>>2]|0)+36>>2]&127](a)|0;s=a+16|0;h=$((k[b+4>>2]|0)-(k[b>>2]|0)>>2,u)|0;t=a+20|0;f=k[t>>2]|0;e=k[s>>2]|0;d=f-e>>2;if(h>>>0<=d>>>0){if(h>>>0>>0?(g=e+(h<<2)|0,(f|0)!=(g|0)):0)k[t>>2]=f+(~((f+-4-g|0)>>>2)<<2)}else kg(s,h-d|0);q=c+8|0;o=q;j=k[o>>2]|0;o=k[o+4>>2]|0;r=c+16|0;g=r;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((o|0)>(g|0)|(o|0)==(g|0)&j>>>0>f>>>0)){u=0;return u|0}m=k[c>>2]|0;p=i[m+f>>0]|0;d=Vj(f|0,g|0,1,0)|0;e=M;n=r;k[n>>2]=d;k[n+4>>2]=e;a:do if(!(p<<24>>24)){if(!((o|0)>(e|0)|(o|0)==(e|0)&j>>>0>d>>>0)){u=0;return u|0}l=i[m+d>>0]|0;e=Vj(f|0,g|0,2,0)|0;f=M;g=r;k[g>>2]=e;k[g+4>>2]=f;g=k[t>>2]|0;n=k[s>>2]|0;d=g-n|0;h=n;if(l<<24>>24==4){q=Vj(e|0,f|0,d|0,0)|0;p=M;if((o|0)<(p|0)|(o|0)==(p|0)&j>>>0>>0){u=0;return u|0}else{Ah(h|0,m+e|0,d|0)|0;q=r;q=Vj(k[q>>2]|0,k[q+4>>2]|0,d|0,0)|0;k[r>>2]=q;k[r+4>>2]=M;break}}if(d|0){p=l&255;m=l&255;d=0;l=o;h=n;while(1){o=Vj(e|0,f|0,p|0,0)|0;n=M;if(!((l|0)<(n|0)|(l|0)==(n|0)&j>>>0>>0)){Ah(h+(d<<2)|0,(k[c>>2]|0)+e|0,m|0)|0;e=r;e=Vj(k[e>>2]|0,k[e+4>>2]|0,p|0,0)|0;f=M;h=r;k[h>>2]=e;k[h+4>>2]=f;h=k[s>>2]|0;g=k[t>>2]|0}d=d+1|0;if(d>>>0>=g-h>>2>>>0)break a;j=q;l=k[j+4>>2]|0;j=k[j>>2]|0}}}else if(!(xg(h,u,c,k[s>>2]|0)|0)){u=0;return u|0}while(0);e=a+28|0;d=k[e>>2]|0;if(!((d|0)!=0?Ta[k[(k[d>>2]|0)+40>>2]&127](d)|0:0)){a=k[s>>2]|0;Ei(a,(k[t>>2]|0)-a>>2,a)}d=k[e>>2]|0;if(d|0){if(!(Xa[k[(k[d>>2]|0)+36>>2]&63](d,c)|0)){u=0;return u|0}a=k[e>>2]|0;c=k[s>>2]|0;if(!(Sa[k[(k[a>>2]|0)+52>>2]&31](a,c,c,(k[t>>2]|0)-c>>2,u,k[b>>2]|0)|0)){u=0;return u|0}}u=1;return u|0}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0,j=0;switch(i[a+24>>0]|0){case 1:{g=k[b>>2]|0;f=a+48|0;b=k[f>>2]|0;f=k[f+4>>2]|0;h=a+40|0;f=(Vj(_i(k[h>>2]|0,k[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,f|0)|0)+(k[k[a>>2]>>2]|0)|0;e=+((l[f>>0]|l[f+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?e:e/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>16&65535;d=+(h&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=h+2|0;f=l[f>>0]|l[f+1>>0]<<8;b=h+4|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[h>>0]|l[h+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&65535);d=+(f&65535)}else{o[c>>2]=d/65535.0;e=+(b&65535)/65535.0;d=+(f&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{h=k[b>>2]|0;j=a+48|0;g=k[j>>2]|0;j=k[j+4>>2]|0;b=a+40|0;j=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0,M|0,g|0,j|0)|0)+(k[k[a>>2]>>2]|0)|0;g=j;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;h=(i[a+32>>0]|0)==0;b=(Aj(g|0,j|0,16)|0)&65535;f=j&65535;a=(Aj(g|0,j|0,48)|0)&65535;d=+(g&65535);if(h){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(f&65535);o[c+12>>2]=+(a&65535);j=1;return j|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(f&65535)/65535.0;o[c+12>>2]=+(a&65535)/65535.0;j=1;return j|0}}default:{j=0;return j|0}}return 0}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}u=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=u;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;f=k[d>>2]|0;if(!f)return;c=k[f+4>>2]|0;t=b+-1|0;u=(t&b|0)==0;if(u)c=c&t;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[f>>2]|0;if(!d)return;s=a+24|0;r=c;e=f;c=f;a:while(1){q=c;b:while(1){c=d;while(1){d=k[c+4>>2]|0;if(u)p=d&t;else p=(d>>>0)%(b>>>0)|0;if((p|0)==(r|0))break;d=(k[a>>2]|0)+(p<<2)|0;if(!(k[d>>2]|0))break b;f=k[c>>2]|0;c:do if(!f)d=c;else{m=k[c+8>>2]|0;l=k[s>>2]|0;o=k[l+4>>2]|0;l=(k[l+8>>2]|0)-o|0;n=l>>2;if((l|0)>0)d=c;else{d=f;while(1){f=k[d>>2]|0;if(!f)break c;else d=f}}while(1){l=k[f+8>>2]|0;j=0;do{if((n|0)<=(j|0)){c=33;break a}g=k[o+(j<<2)>>2]|0;if(!(i[g+84>>0]|0)){h=k[g+68>>2]|0;g=k[h+(l<<2)>>2]|0;h=k[h+(m<<2)>>2]|0}else{g=l;h=m}j=j+1|0;if((h|0)!=(g|0))break c}while((j|0)<(n|0));d=k[f>>2]|0;if(!d){d=f;break}else{l=f;f=d;d=l}}}while(0);k[q>>2]=k[d>>2];k[d>>2]=k[k[(k[a>>2]|0)+(p<<2)>>2]>>2];k[k[(k[a>>2]|0)+(p<<2)>>2]>>2]=c;c=k[e>>2]|0;if(!c){c=38;break a}}d=k[c>>2]|0;if(!d){c=38;break a}else{e=c;q=c}}k[d>>2]=q;d=k[c>>2]|0;if(!d){c=38;break}else{r=p;e=c}}if((c|0)==33)Ja(9589,9551,63,9579);else if((c|0)==38)return}function Yc(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4672;Il(a+352|0);b=k[a+340>>2]|0;c=b;if(b|0){d=a+344|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Il(b)}while((b|0)!=(c|0))}Dl(d)}Il(a+304|0);Il(a+264|0);gg(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Fl(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Fl(b);b=k[a+136>>2]|0;if(b|0)Fl(b);b=k[a+124>>2]|0;if(b|0)Fl(b);b=k[a+112>>2]|0;if(b|0)Fl(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}e=k[a+76>>2]|0;b=e;if(e|0){c=a+80|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(e)}b=k[a+64>>2]|0;if(b|0)Fl(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Fl(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Dg(b);Fl(b);return}function Zc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+16|0;q=s;b=k[a>>2]|0;o=a+4|0;a=k[o>>2]|0;p=a-b|0;c=p>>5;if((p|0)<=32){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}p=b;n=a;i=n+-32|0;a=k[p>>2]|0;d=p+4|0;j=k[d>>2]|0;e=p+8|0;l=k[e>>2]|0;g=p+12|0;m=k[g>>2]|0;h=p+16|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];f=b;k[f>>2]=k[i>>2];k[f+4>>2]=k[i+4>>2];k[f+8>>2]=k[i+8>>2];k[f+12>>2]=k[i+12>>2];k[f+16>>2]=k[i+16>>2];k[f+20>>2]=k[i+20>>2];k[f+24>>2]=k[i+24>>2];k[f+28>>2]=k[i+28>>2];k[i>>2]=a;k[n+-28>>2]=j;k[n+-24>>2]=l;k[n+-20>>2]=m;n=n+-16|0;k[n>>2]=k[q>>2];k[n+4>>2]=k[q+4>>2];k[n+8>>2]=k[q+8>>2];k[n+12>>2]=k[q+12>>2];n=c+-1|0;if((c|0)==2){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}l=c+-3|0;m=(l|0)/2|0;if((l|0)<-1){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}a=p+32|0;b=a;if((n|0)>2){l=p+64|0;j=(k[a>>2]|0)>>>0<(k[l>>2]|0)>>>0;a=j?2:1;b=j?l:b}else a=1;l=k[p>>2]|0;if((k[b>>2]|0)>>>0>>0){q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}j=k[d>>2]|0;i=k[e>>2]|0;g=k[g>>2]|0;k[q>>2]=k[h>>2];k[q+4>>2]=k[h+4>>2];k[q+8>>2]=k[h+8>>2];k[q+12>>2]=k[h+12>>2];while(1){h=f;f=b;k[h>>2]=k[f>>2];k[h+4>>2]=k[f+4>>2];k[h+8>>2]=k[f+8>>2];k[h+12>>2]=k[f+12>>2];k[h+16>>2]=k[f+16>>2];k[h+20>>2]=k[f+20>>2];k[h+24>>2]=k[f+24>>2];k[h+28>>2]=k[f+28>>2];if((m|0)<(a|0))break;a=a<<1|1;d=p+(a<<5)|0;c=d;e=a+1|0;if((e|0)<(n|0)){h=d+32|0;d=(k[d>>2]|0)>>>0<(k[h>>2]|0)>>>0;a=d?e:a;c=d?h:c}if((k[c>>2]|0)>>>0>>0)break;else b=c}p=b;k[p>>2]=l;k[p+4>>2]=j;k[p+8>>2]=i;k[p+12>>2]=g;p=p+16|0;k[p>>2]=k[q>>2];k[p+4>>2]=k[q+4>>2];k[p+8>>2]=k[q+8>>2];k[p+12>>2]=k[q+12>>2];q=k[o>>2]|0;q=q+-32|0;k[o>>2]=q;r=s;return}function _c(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)Dl(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else kg(d,e-g|0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;u=g-f|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=13;break}k[y>>2]=k[f+(d<<2)>>2];k[x>>2]=k[y>>2];Dc(a,x,c,d);m=$(d,e)|0;l=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[v>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[v>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[u>>2]|0)+h}else k[g>>2]=h-(k[u>>2]|0);f=f+1|0}while((f|0)<(k[v>>2]|0))}}}d=d+1|0;if((d|0)>=(p|0)){d=10;break}h=k[o>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Jk(h);return 0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<16>>16)}else{o[c>>2]=d/32767.0;d=+(b<<16>>16)/32767.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Aj(f|0,e|0,16)|0)&65535;e=e&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);o[c+8>>2]=+(e<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;o[c+8>>2]=+(e<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function ad(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+16|0;x=z+4|0;y=z;k[a+72>>2]=e;k[a+64>>2]=f;w=a+68|0;v=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[w>>2]|0;k[w>>2]=v;if(d|0)Dl(d);v=a+8|0;k[v>>2]=e;d=a+32|0;f=a+36|0;i=k[f>>2]|0;h=k[d>>2]|0;g=i-h>>2;if(g>>>0>=e>>>0){if(g>>>0>e>>>0?(j=h+(e<<2)|0,(i|0)!=(j|0)):0)k[f>>2]=i+(~((i+-4-j|0)>>>2)<<2)}else kg(d,e-g|0);o=a+56|0;h=k[o>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;u=g-f|0;p=u>>2;if((u|0)<=0){r=z;return 1}q=a+16|0;s=a+32|0;t=a+12|0;u=a+20|0;d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=13;break}k[y>>2]=k[f+(d<<2)>>2];k[x>>2]=k[y>>2];wc(a,x,c,d);m=$(d,e)|0;l=k[w>>2]|0;n=c+(m<<2)|0;if((k[v>>2]|0)>0){j=0;do{i=k[l+(j<<2)>>2]|0;f=k[q>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[v>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[n+(f<<2)>>2]=(k[b+(f+m<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[v>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=n+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[q>>2]|0)){if((h|0)<(k[t>>2]|0))k[g>>2]=(k[u>>2]|0)+h}else k[g>>2]=h-(k[u>>2]|0);f=f+1|0}while((f|0)<(k[v>>2]|0))}}}d=d+1|0;if((d|0)>=(p|0)){d=10;break}h=k[o>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==10){r=z;return 1}else if((d|0)==13)Jk(h);return 0}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}n=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){i=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((j[h>>1]|0)==(j[g+8>>1]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=i;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((j[g>>1]|0)==(j[h+8>>1]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}n=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=n;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)c=c&m;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(n){j=c;while(1){c=d;while(1){l=k[c+4>>2]&m;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((i[h>>0]|0)==(i[g+8>>0]|0))d=g;else break}k[j>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}else{j=c;while(1){c=d;while(1){l=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break;d=(k[a>>2]|0)+(l<<2)|0;if(!(k[d>>2]|0)){f=j;e=l;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((i[g>>0]|0)==(i[h+8>>0]|0))d=h;else break}k[j>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(l<<2)>>2]>>2];k[k[(k[a>>2]|0)+(l<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;j=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[e>>0]|l[e+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&65535)}else{o[c>>2]=d/65535.0;d=+(b&65535)/65535.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;e=g+4|0;e=l[e>>0]|l[e+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;e=a+48|0;f=k[e>>2]|0;e=k[e+4>>2]|0;b=a+40|0;e=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,e|0)|0)+(k[k[a>>2]>>2]|0)|0;f=e;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;e=e+4|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;g=(i[a+32>>0]|0)==0;b=(Aj(f|0,e|0,16)|0)&65535;e=e&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);o[c+8>>2]=+(e&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;o[c+8>>2]=+(e&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(He(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(He(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];cb(a,v,n,m,0,q);v=1;r=t;return v|0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(He(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(He(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];mb(a,v,n,m,0,q);v=1;r=t;return v|0}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;d=a+4|0;if(!b){c=k[a>>2]|0;k[a>>2]=0;if(c|0)Fl(c);k[d>>2]=0;return}if(b>>>0>1073741823){a=La(4)|0;pl(a);wa(a|0,736,68)}m=bj(b<<2)|0;c=k[a>>2]|0;k[a>>2]=m;if(c|0)Fl(c);k[d>>2]=b;c=0;do{k[(k[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=k[d>>2]|0;if(!g)return;c=k[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)c=c&l;else c=(c>>>0)%(b>>>0)|0;k[(k[a>>2]|0)+(c<<2)>>2]=d;d=k[g>>2]|0;if(!d)return;else{e=c;f=g;c=g}a:while(1){b:do if(m){i=c;while(1){c=d;while(1){j=k[c+4>>2]&l;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}h=c+8|0;d=c;while(1){g=k[d>>2]|0;if(!g)break;if((k[h>>2]|0)==(k[g+8>>2]|0))d=g;else break}k[i>>2]=g;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}else{i=c;while(1){c=d;while(1){j=((k[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(k[a>>2]|0)+(j<<2)|0;if(!(k[d>>2]|0)){f=i;e=j;break b}g=c+8|0;d=c;while(1){h=k[d>>2]|0;if(!h)break;if((k[g>>2]|0)==(k[h+8>>2]|0))d=h;else break}k[i>>2]=h;k[d>>2]=k[k[(k[a>>2]|0)+(j<<2)>>2]>>2];k[k[(k[a>>2]|0)+(j<<2)>>2]>>2]=c;c=k[f>>2]|0;if(!c){c=34;break a}}d=k[c>>2]|0;if(!d){c=34;break a}else{f=c;i=c}}}while(0);k[d>>2]=f;d=k[c>>2]|0;if(!d){c=34;break}else f=c}if((c|0)==34)return}function hd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;b=t;i[b>>0]=0;i[b+1>>0]=0;i[b+2>>0]=0;i[b+3>>0]=0;i[b+4>>0]=0;i[b+5>>0]=0;p=a+8|0;j=k[p>>2]|0;p=k[p+4>>2]|0;s=a+16|0;d=s;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Vj(c|0,d|0,5,0)|0;f=M;if(((((!((p|0)<(f|0)|(p|0)==(f|0)&j>>>0>>0)?(g=k[a>>2]|0,u=g+c|0,i[b>>0]=i[u>>0]|0,i[b+1>>0]=i[u+1>>0]|0,i[b+2>>0]=i[u+2>>0]|0,i[b+3>>0]=i[u+3>>0]|0,i[b+4>>0]=i[u+4>>0]|0,u=s,k[u>>2]=e,k[u+4>>2]=f,((p|0)>(f|0)|(p|0)==(f|0)&j>>>0>e>>>0)&(Yh(b,11143)|0)==0):0)?(u=Vj(c|0,d|0,6,0)|0,f=M,e=s,k[e>>2]=u,k[e+4>>2]=f,(p|0)>(f|0)|(p|0)==(f|0)&j>>>0>u>>>0):0)?(h=Vj(c|0,d|0,7,0)|0,u=M,f=s,k[f>>2]=h,k[f+4>>2]=u,(p|0)>(u|0)|(p|0)==(u|0)&j>>>0>h>>>0):0)?(l=i[g+h>>0]|0,m=Vj(c|0,d|0,8,0)|0,u=M,h=s,k[h>>2]=m,k[h+4>>2]=u,(p|0)>(u|0)|(p|0)==(u|0)&j>>>0>m>>>0):0)?(n=i[g+m>>0]|0,q=Vj(c|0,d|0,9,0)|0,o=s,k[o>>2]=q,k[o+4>>2]=M,o=Vj(c|0,d|0,11,0)|0,q=M,!((p|0)<(q|0)|(p|0)==(q|0)&j>>>0>>0)):0){u=s;k[u>>2]=o;k[u+4>>2]=q;switch(l<<24>>24){case 0:{d=eh(n)|0;if(!d){u=0;r=t;return u|0}e=bj(68)|0;Fj(e);b=Ph(d,a,e)|0;c=b?0:e;if(!b)Ra[k[(k[c>>2]|0)+4>>2]&127](c);Ra[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}case 1:{switch(n<<24>>24){case 0:{d=bj(28)|0;Lk(d);break}case 1:{d=bj(32)|0;ik(d);break}default:{u=0;r=t;return u|0}}e=bj(92)|0;Wi(e);b=hj(d,a,e)|0;c=b?0:e;if(!b)Ra[k[(k[c>>2]|0)+4>>2]&127](c);Ra[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}default:{u=0;r=t;return u|0}}}u=0;r=t;return u|0}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(je(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(je(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];jb(a,v,n,m,0,q);v=1;r=t;return v|0}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+64|0;q=t+48|0;m=t+32|0;n=t+20|0;o=t+8|0;p=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(je(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(je(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;s=k[c+4>>2]|0;u=p;k[u>>2]=k[c>>2];k[u+4>>2]=s;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];kb(a,v,n,m,0,q);v=1;r=t;return v|0}function kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b>>>0);g=1;return g|0}else{o[c>>2]=d*2.3283064365386963e-10;o[c+4>>2]=+(b>>>0)*2.3283064365386963e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function ld(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4532;e=a+320|0;c=k[e>>2]|0;k[e>>2]=0;if(c|0){d=c+-4|0;b=k[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Il(b)}while((b|0)!=(c|0))}Dl(d)}Il(a+304|0);Il(a+264|0);gg(a+228|0);b=k[a+212>>2]|0;c=b;if(b|0){d=a+216|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+200>>2]|0;c=b;if(b|0){d=a+204|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+188>>2]|0;c=b;if(b|0){d=a+192|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+176>>2]|0;c=b;if(b|0){d=a+180|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+160>>2]|0;if(b|0)do{e=b;b=k[b>>2]|0;Fl(e)}while((b|0)!=0);e=a+152|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Fl(b);b=k[a+136>>2]|0;if(b|0)Fl(b);b=k[a+124>>2]|0;if(b|0)Fl(b);b=k[a+112>>2]|0;if(b|0)Fl(b);b=k[a+88>>2]|0;c=b;if(b|0){d=a+92|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+76>>2]|0;c=b;if(b|0){d=a+80|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+64>>2]|0;if(b|0)Fl(b);b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+36>>2]|0;c=b;if(b|0){d=a+40|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Fl(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}a=a+8|0;b=k[a>>2]|0;k[a>>2]=0;if(!b)return;Dg(b);Fl(b);return}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+40|0;m=n;if(!(nf(a,1,c)|0)){m=0;r=n;return m|0}l=a+40|0;e=a+16|0;f=k[e>>2]|0;d=(k[a>>2]|0)+f|0;o=a+8|0;e=Ej(k[o>>2]|0,k[o+4>>2]|0,f|0,k[e+4>>2]|0)|0;ej(l,d,e);e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;f=a+48|0;o=f;g=a+56|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;o=Ej(k[o>>2]|0,k[o+4>>2]|0,h|0,j|0)|0;p=M;if(e>>>0>p>>>0|(e|0)==(p|0)&d>>>0>o>>>0){p=0;r=n;return p|0}o=Vj(h|0,j|0,d|0,e|0)|0;p=g;k[p>>2]=o;k[p+4>>2]=M;if(!(nf(l,1,c)|0)){p=0;r=n;return p|0}Xi(m);d=g;e=k[d>>2]|0;p=(k[l>>2]|0)+e|0;g=f;d=Ej(k[g>>2]|0,k[g+4>>2]|0,e|0,k[d+4>>2]|0)|0;ej(m,p,d);d=c;c=k[d>>2]|0;d=k[d+4>>2]|0;p=m+8|0;e=m+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;p=Ej(k[p>>2]|0,k[p+4>>2]|0,f|0,g|0)|0;o=M;a:do if(d>>>0>o>>>0|(d|0)==(o|0)&c>>>0>p>>>0)c=0;else{c=Vj(f|0,g|0,c|0,d|0)|0;h=e;k[h>>2]=c;k[h+4>>2]=M;h=a+84|0;c=k[h>>2]|0;if((c|0)>0){g=a+80|0;e=c<<4;e=Cl(c>>>0>268435455|e>>>0>4294967291?-1:e+4|0)|0;k[e>>2]=c;e=e+4|0;c=e+(c<<4)|0;d=e;do{nl(d);d=d+16|0}while((d|0)!=(c|0));f=k[g>>2]|0;k[g>>2]=e;if(f|0){d=f+-4|0;c=k[d>>2]|0;if(c|0){c=f+(c<<4)|0;do{c=c+-16|0;Il(c)}while((c|0)!=(f|0))}Dl(d)}if((k[h>>2]|0)>0){c=0;do{if(!(je((k[g>>2]|0)+(c<<4)|0,m)|0)){c=0;break a}c=c+1|0}while((c|0)<(k[h>>2]|0))}}c=b;d=m;e=c+36|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));i[b+36>>0]=i[m+36>>0]|0;c=1}while(0);Il(m+24|0);p=c;r=n;return p|0}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;b=a+48|0;g=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,g|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;g=b;b=b+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+4|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b|0);g=1;return g|0}else{o[c>>2]=d*4.656612873077393e-10;o[c+4>>2]=+(b|0)*4.656612873077393e-10;g=1;return g|0}}default:{g=0;return g|0}}return 0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(He(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(He(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];db(a,v,o,m,0,n);v=1;r=t;return v|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(He(a+8+(d*24|0)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(He(a+776|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+800|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+820|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+840|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];rb(a,v,o,m,0,n);v=1;r=t;return v|0}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=b+8|0;h=k[g+4>>2]|0;d=b+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[b>>2]|0)+e>>0]|0;f=Vj(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;do switch(h<<24>>24){case 1:{h=lc(a,b,c)|0;return h|0}case 2:{h=lc(a,b,c)|0;return h|0}case 3:{h=lc(a,b,c)|0;return h|0}case 4:{h=lc(a,b,c)|0;return h|0}case 5:{h=lc(a,b,c)|0;return h|0}case 6:{h=lc(a,b,c)|0;return h|0}case 7:{h=lc(a,b,c)|0;return h|0}case 8:{h=lc(a,b,c)|0;return h|0}case 9:{h=kc(a,b,c)|0;return h|0}case 10:{h=jc(a,b,c)|0;return h|0}case 11:{h=ic(a,b,c)|0;return h|0}case 12:{h=hc(a,b,c)|0;return h|0}case 13:{h=gc(a,b,c)|0;return h|0}case 14:{h=fc(a,b,c)|0;return h|0}case 15:{h=fc(a,b,c)|0;return h|0}case 16:{h=fc(a,b,c)|0;return h|0}case 17:{h=fc(a,b,c)|0;return h|0}case 18:{h=fc(a,b,c)|0;return h|0}default:{h=0;return h|0}}while(0);return 0}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(je(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(je(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ob(a,v,o,m,0,n);v=1;r=t;return v|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+48|0;n=t+40|0;m=t+28|0;o=t+16|0;p=t+4|0;q=t;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;u=Vj(d|0,g|0,4,0)|0;v=M;if((h|0)<(v|0)|(h|0)==(v|0)&e>>>0>>0)f=h;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;f=k[e+4>>2]|0;e=k[e>>2]|0}h=a+4|0;v=Vj(d|0,g|0,4,0)|0;u=M;if((f|0)<(u|0)|(f|0)==(u|0)&e>>>0>>0)d=k[h>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[h>>0]=d;i[h+1>>0]=d>>8;i[h+2>>0]=d>>16;i[h+3>>0]=d>>24;u=j;u=Vj(k[u>>2]|0,k[u+4>>2]|0,4,0)|0;v=j;k[v>>2]=u;k[v+4>>2]=M}if(!d){v=1;r=t;return v|0}else d=0;do{if(!(je(a+8+(d<<4)|0,b)|0)){d=0;s=14;break}d=d+1|0}while((d|0)<32);if((s|0)==14){r=t;return d|0}if(!(je(a+520|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+536|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+556|0,b)|0)){v=0;r=t;return v|0}if(!(Ce(a+576|0,b)|0)){v=0;r=t;return v|0}v=k[h>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];pb(a,v,o,m,0,n);v=1;r=t;return v|0}function td(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=a+8|0;k[r>>2]=e;p=e>>>0>1073741823?-1:e<<2;s=Cl(p)|0;Jh(s|0,0,p|0)|0;p=k[a+24>>2]|0;q=a+32|0;h=k[q>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){m=k[a+28>>2]|0;n=p+12|0;o=(e|0)>0;j=d>>2;a=g;d=h;while(1){l=j+-1|0;if(a-f>>2>>>0<=l>>>0)break;d=k[f+(l<<2)>>2]|0;if((d|0)>=0?(u=k[(k[n>>2]|0)+(d<<2)>>2]|0,(u|0)>-1):0){a=k[p>>2]|0;f=(u>>>0)%3|0;g=k[m>>2]|0;h=k[g+(k[a+(((u>>>0)/3|0)*12|0)+(f<<2)>>2]<<2)>>2]|0;d=u+1|0;d=((d|0)%3|0|0)==0?u+-2|0:d;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;i=k[g+(d<<2)>>2]|0;d=((f|0)==0?2:-1)+u|0;if((d|0)<0)d=-1073741824;else d=k[a+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;f=k[g+(d<<2)>>2]|0;d=$(l,e)|0;if((h|0)<(l|0)&(i|0)<(l|0)&(f|0)<(l|0)){h=$(h,e)|0;g=$(i,e)|0;a=$(f,e)|0;if(o){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+a<<2)>>2]|0)+(k[b+(f+g<<2)>>2]|0)-(k[b+(f+h<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}re(r,b+(d<<2)|0,s,c,d)}else v=16}else{d=$(l,e)|0;v=16}if((v|0)==16){v=0;re(r,b+(d<<2)|0,b+(($(j+-2|0,e)|0)<<2)|0,c,d)}if((l|0)<=1){t=s;break a}d=k[q>>2]|0;j=l;f=k[d>>2]|0;a=k[d+4>>2]|0}Jk(d)}else t=s;while(0);if((e|0)<=0){re(r,b,t,c,0);Dl(s);return 1}Jh(s|0,0,e<<2|0)|0;re(r,b,t,c,0);Dl(s);return 1}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=Vj(_i(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;e=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(i[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b<<24>>24);d=+(f<<24>>24)}else{o[c>>2]=d/127.0;e=+(b<<24>>24)/127.0;d=+(f<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+((h&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(f<<24>>24);o[c+12>>2]=+(g<<24>>24);h=1;return h|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(f<<24>>24)/127.0;o[c+12>>2]=+(g<<24>>24)/127.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0,h=0;switch(i[a+24>>0]|0){case 1:{b=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;h=a+40|0;g=Vj(_i(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;e=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?e:e/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;c=1;return c|0}case 2:{g=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;f=a+40|0;h=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8;b=(h&65535)>>>8&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;h=c+8|0;k[h>>2]=0;k[h+4>>2]=0;h=1;return h|0}case 3:{b=k[b>>2]|0;h=a+48|0;f=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0,M|0,f|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;f=i[h+1>>0]|0;b=i[h+2>>0]|0;d=+(l[h>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;e=+(b&255);d=+(f&255)}else{o[c>>2]=d/255.0;e=+(b&255)/255.0;d=+(f&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=e;o[c+12>>2]=0.0;h=1;return h|0}case 4:{f=k[b>>2]|0;h=a+48|0;b=k[h>>2]|0;h=k[h+4>>2]|0;g=a+40|0;h=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,h|0)|0)+(k[k[a>>2]>>2]|0)|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;b=h>>>8&255;f=h>>>16&255;g=h>>>24&255;d=+(h&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(f&255);o[c+12>>2]=+(g&255);h=1;return h|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(f&255)/255.0;o[c+12>>2]=+(g&255)/255.0;h=1;return h|0}}default:{h=0;return h|0}}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+((g&65535)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Aj(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+((f&65535)<<16>>16);if(g){o[c>>2]=d;o[c+4>>2]=+(b<<16>>16);g=1;return g|0}else{o[c>>2]=d/32767.0;o[c+4>>2]=+(b<<16>>16)/32767.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function xd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=a+8|0;k[r>>2]=e;p=e>>>0>1073741823?-1:e<<2;s=Cl(p)|0;Jh(s|0,0,p|0)|0;p=k[a+24>>2]|0;q=a+32|0;h=k[q>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;a:do if((d|0)>4){l=k[a+28>>2]|0;m=p+64|0;n=p+28|0;o=(e|0)>0;i=d>>2;a=g;d=h;while(1){j=i+-1|0;if(a-f>>2>>>0<=j>>>0)break;d=k[f+(j<<2)>>2]|0;if(!((d|0)<0?1:(1<<(d&31)&k[(k[p>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[m>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(u|0)>-1):0){h=k[n>>2]|0;d=k[l>>2]|0;f=k[d+(k[h+(u<<2)>>2]<<2)>>2]|0;a=u+1|0;a=k[d+(k[h+((((a|0)%3|0|0)==0?u+-2|0:a)<<2)>>2]<<2)>>2]|0;h=k[d+(k[h+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;d=$(j,e)|0;if((f|0)<(j|0)&(a|0)<(j|0)&(h|0)<(j|0)){i=$(f,e)|0;g=$(a,e)|0;a=$(h,e)|0;if(o){f=0;do{k[s+(f<<2)>>2]=(k[b+(f+a<<2)>>2]|0)+(k[b+(f+g<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}re(r,b+(d<<2)|0,s,c,d)}else v=12}else{d=$(j,e)|0;v=12}if((v|0)==12){v=0;re(r,b+(d<<2)|0,b+(($(i+-2|0,e)|0)<<2)|0,c,d)}if((j|0)<=1){t=s;break a}d=k[q>>2]|0;i=j;f=k[d>>2]|0;a=k[d+4>>2]|0}Jk(d)}else t=s;while(0);if((e|0)<=0){re(r,b,t,c,0);Dl(s);return 1}Jh(s|0,0,e<<2|0)|0;re(r,b,t,c,0);Dl(s);return 1}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>16&65535;d=+(g&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=g+2|0;b=l[b>>0]|l[b+1>>0]<<8;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}case 4:{g=k[b>>2]|0;b=a+48|0;f=k[b>>2]|0;b=k[b+4>>2]|0;e=a+40|0;b=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0,M|0,f|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;f=b;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;b=b+4|0;g=(i[a+32>>0]|0)==0;b=(Aj(f|0,l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0,16)|0)&65535;d=+(f&65535);if(g){o[c>>2]=d;o[c+4>>2]=+(b&65535);g=1;return g|0}else{o[c>>2]=d/65535.0;o[c+4>>2]=+(b&65535)/65535.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b<<24>>24)}else{o[c>>2]=d/127.0;d=+(b<<24>>24)/127.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);o[c+8>>2]=+(e<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;o[c+8>>2]=+(e<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=Vj(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=Vj(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=Vj(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(Ce(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];hb(a,u,n,m,0,q);u=1;r=s;return u|0}function Bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;q=s+48|0;m=s+32|0;n=s+20|0;o=s+8|0;p=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=Vj(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=Vj(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=Vj(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(je(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[n+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;b=c;c=k[b+4>>2]|0;t=p;k[t>>2]=k[b>>2];k[t+4>>2]=c;k[m>>2]=k[o>>2];k[m+4>>2]=k[o+4>>2];k[m+8>>2]=k[o+8>>2];k[q>>2]=k[p>>2];k[q+4>>2]=k[p+4>>2];nb(a,u,n,m,0,q);u=1;r=s;return u|0} -function Za(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,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;wa=r;r=r+48|0;ma=wa+40|0;ta=wa+28|0;ua=wa+4|0;$=wa+24|0;oa=wa;k[ta>>2]=0;va=ta+4|0;k[va>>2]=0;k[ta+8>>2]=0;k[ua>>2]=0;k[ua+4>>2]=0;k[ua+8>>2]=0;k[ua+12>>2]=0;o[ua+16>>2]=1.0;ra=a+136|0;ga=k[a+140>>2]|0;a:do if((b|0)>0){G=a+240|0;H=a+372|0;I=a+276|0;K=a+368|0;L=a+272|0;M=a+264|0;O=a+268|0;P=a+8|0;Q=a+36|0;R=a+40|0;S=b+-1|0;U=ua+4|0;V=a+340|0;W=ta+8|0;X=a+352|0;e=0;w=0;while(1){c=w+1|0;if((k[H>>2]|0)!=-1?Ih(X)|0:0){d=k[H>>2]|0;k[K>>2]=d;if(!d)ha=16;else ha=57}else ha=5;b:do if((ha|0)==5){do if(!(i[I>>0]|0))d=1;else{f=k[L>>2]|0;h=k[M>>2]|0;j=k[O>>2]|0;d=h+(f>>>3)|0;if(d>>>0>>0?(ha=l[d>>0]|0,aa=f+1|0,k[L>>2]=aa,ha&1<<(f&7)|0):0){d=h+(aa>>>3)|0;if(d>>>0>>0){g=(l[d>>0]|0)>>>(aa&7)&1;f=f+2|0;k[L>>2]=f}else{g=0;f=aa}d=h+(f>>>3)|0;if(d>>>0>>0){d=(l[d>>0]|0)>>>(f&7);k[L>>2]=f+1;d=d<<1&2}else d=0;d=(d|g)<<1|1;break}k[K>>2]=0;ha=16;break b}while(0);k[K>>2]=d;ha=57}while(0);c:do if((ha|0)==16){ha=0;u=k[(k[va>>2]|0)+-4>>2]|0;v=(u|0)<0;d:do if(!v){d=u+(((u>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0)ha=18;else{h=k[P>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(d<<2)>>2]|0;if((f|0)<=-1){q=0;p=d;f=h;break d}d=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){q=1;p=d;f=h;break}}}}else{d=u;ha=18}while(0);if((ha|0)==18){ha=0;f=k[P>>2]|0;q=1;p=d;g=k[f+12>>2]|0}d=w*3|0;s=d+1|0;k[g+(u<<2)>>2]=s;k[g+(s<<2)>>2]=u;w=d+2|0;k[g+(p<<2)>>2]=w;k[g+(w<<2)>>2]=p;g=u+1|0;if(!v?(x=((g|0)%3|0|0)==0?u+-2|0:g,(x|0)>=0):0)t=k[(k[f>>2]|0)+(((x>>>0)/3|0)*12|0)+(((x>>>0)%3|0)<<2)>>2]|0;else t=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=t;if((t|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=t>>>0){m=t+1|0;if(m>>>0>j>>>0){kg(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(F=f+(m<<2)|0,(g|0)!=(F|0)):0)k[h>>2]=g+(~((g+-4-F|0)>>>2)<<2)}while(0);k[f+(t<<2)>>2]=d;f=k[P>>2]|0}g=p+1|0;if(!q?(A=((g|0)%3|0|0)==0?p+-2|0:g,(A|0)>=0):0)p=k[(k[f>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){kg(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(J=f+(m<<2)|0,(g|0)!=(J|0)):0)k[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=s;f=k[P>>2]|0}if(!v?(E=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(E|0)>=0):0)p=k[(k[f>>2]|0)+(((E>>>0)/3|0)*12|0)+(((E>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=f+24|0;h=f+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){kg(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(N=f+(m<<2)|0,(g|0)!=(N|0)):0)k[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);k[f+(p<<2)>>2]=w}if((e|0)>(ga|0)){e=-1;break a}ha=(k[ra>>2]|0)+(t>>>5<<2)|0;k[ha>>2]=k[ha>>2]&~(1<<(t&31));k[(k[va>>2]|0)+-4>>2]=d;ha=190}else if((ha|0)==57){ha=0;switch(d|0){case 3:case 5:{t=k[(k[va>>2]|0)+-4>>2]|0;v=w*3|0;n=((d|0)==5?2:1)+v|0;d=k[P>>2]|0;u=k[d+12>>2]|0;k[u+(n<<2)>>2]=t;k[u+(t<<2)>>2]=n;u=e+1|0;s=(n|0)<0;k[(k[d>>2]|0)+((s?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=d+24|0;g=d+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(u>>>0>h>>>0){kg(j,u-h|0);d=k[j>>2]|0;break}if(u>>>0>>0?(T=d+(u<<2)|0,(f|0)!=(T|0)):0)k[g>>2]=f+(~((f+-4-T|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=n;e=k[P>>2]|0}else e=d;d=n+1|0;if(s)p=n;else p=((d|0)%3|0|0)==0?n+-2|0:d;q=(t|0)<0;if(!q?(D=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(D|0)>=0):0)m=k[(k[e>>2]|0)+(((D>>>0)/3|0)*12|0)+(((D>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){kg(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(Y=d+(h<<2)|0,(e|0)!=(Y|0)):0)k[f>>2]=e+(~((e+-4-Y|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=p;e=k[P>>2]|0}do if(!s)if(!((n>>>0)%3|0)){n=n+2|0;break}else{n=n+-1|0;break}while(0);d=t+1|0;if(!q?(z=((d|0)%3|0|0)==0?t+-2|0:d,(z|0)>=0):0)m=k[(k[e>>2]|0)+(((z>>>0)/3|0)*12|0)+(((z>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[e>>2]|0)+(((n|0)<0?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=e+24|0;f=e+28|0;e=k[f>>2]|0;d=k[j>>2]|0;g=e-d>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){kg(j,h-g|0);d=k[j>>2]|0;break}if(h>>>0>>0?(Z=d+(h<<2)|0,(e|0)!=(Z|0)):0)k[f>>2]=e+(~((e+-4-Z|0)>>>2)<<2)}while(0);k[d+(m<<2)>>2]=n}k[(k[va>>2]|0)+-4>>2]=v;e=u;d=v;break}case 1:{d=k[va>>2]|0;p=d+-4|0;g=k[p>>2]|0;k[va>>2]=p;j=k[U>>2]|0;e:do if(j){m=j+-1|0;h=(m&j|0)==0;if(h)n=m&w;else n=(w>>>0)%(j>>>0)|0;f=k[(k[ua>>2]|0)+(n<<2)>>2]|0;if(f){if(h)do{f=k[f>>2]|0;if(!f){d=p;break e}if((k[f+4>>2]&m|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));else do{f=k[f>>2]|0;if(!f){d=p;break e}if((((k[f+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(n|0)){d=p;break e}}while((k[f+8>>2]|0)!=(w|0));f=f+12|0;if((p|0)==(k[W>>2]|0)){vg(ta,f);d=k[va>>2]|0;break}else{k[p>>2]=k[f>>2];k[va>>2]=d;break}}else d=p}else d=p;while(0);s=k[d+-4>>2]|0;d=w*3|0;u=d+2|0;f=k[P>>2]|0;q=k[f+12>>2]|0;k[q+(s<<2)>>2]=u;k[q+(u<<2)>>2]=s;t=d+1|0;k[q+(g<<2)>>2]=t;k[q+(t<<2)>>2]=g;q=(s|0)<0;if(!q?(C=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(C|0)>=0):0)w=k[(k[f>>2]|0)+(((C>>>0)/3|0)*12|0)+(((C>>>0)%3|0)<<2)>>2]|0;else w=-1073741824;k[(k[f>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d|0)%3|0)<<2)>>2]=w;v=(w|0)>-1;if(v){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=w>>>0){n=w+1|0;if(n>>>0>m>>>0){kg(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(_=f+(n<<2)|0,(h|0)!=(_|0)):0)k[j>>2]=h+(~((h+-4-_|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=d;f=k[P>>2]|0}h=s+1|0;if(!q?(y=((h|0)%3|0|0)==0?s+-2|0:h,(y|0)>=0):0)q=k[(k[f>>2]|0)+(((y>>>0)/3|0)*12|0)+(((y>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-1?-1073741824:(t>>>0)/3|0)*12|0)+(((t|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){kg(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ba=f+(n<<2)|0,(h|0)!=(ba|0)):0)k[j>>2]=h+(~((h+-4-ba|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=t;f=k[P>>2]|0}s=(g|0)<0;if(!s?(B=(((g>>>0)%3|0|0)==0?2:-1)+g|0,(B|0)>=0):0)q=k[(k[f>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;else q=-1073741824;k[(k[f>>2]|0)+(((d|0)<-2?-1073741824:(u>>>0)/3|0)*12|0)+(((u|0)%3|0)<<2)>>2]=q;if((q|0)>-1){p=f+24|0;j=f+28|0;h=k[j>>2]|0;f=k[p>>2]|0;m=h-f>>2;do if(m>>>0<=q>>>0){n=q+1|0;if(n>>>0>m>>>0){kg(p,n-m|0);f=k[p>>2]|0;break}if(n>>>0>>0?(ca=f+(n<<2)|0,(h|0)!=(ca|0)):0)k[j>>2]=h+(~((h+-4-ca|0)>>>2)<<2)}while(0);k[f+(q<<2)>>2]=u}f=g+1|0;if(!s){f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){s=-1073741824;g=f}else{s=k[(k[k[P>>2]>>2]|0)+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;g=f}}else s=-1073741824;ha=k[V>>2]|0;f=ha+(w<<2)|0;k[f>>2]=(k[f>>2]|0)+(k[ha+(s<<2)>>2]|0);f=k[P>>2]|0;f:do if((g|0)>-1){q=w+1|0;if(!v){j=k[f>>2]|0;m=f+12|0;while(1){k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;ha=g+1|0;g=((ha|0)%3|0|0)==0?g+-2|0:ha;if((g|0)<0)break f;g=k[(k[m>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=w;n=f+24|0;p=f+28|0;h=k[p>>2]|0;f=k[n>>2]|0;j=h-f>>2;do if(j>>>0<=w>>>0){m=h;if(q>>>0>j>>>0){kg(n,q-j|0);f=k[n>>2]|0;break}if(q>>>0>=j>>>0)break;h=f+(q<<2)|0;if((m|0)==(h|0))break;k[p>>2]=m+(~((m+-4-h|0)>>>2)<<2)}while(0);k[f+(w<<2)>>2]=g;f=g+1|0;g=((f|0)%3|0|0)==0?g+-2|0:f;f=k[P>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h}while((g|0)>-1)}while(0);k[(k[f+24>>2]|0)+(s<<2)>>2]=-1073741824;k[(k[va>>2]|0)+-4>>2]=d;ha=190;break c}case 7:{m=w*3|0;k[ma>>2]=m;f=k[P>>2]|0;n=e+1|0;d=k[f>>2]|0;k[d+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=e;if((e|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=e>>>0){if(n>>>0>h>>>0){kg(j,n-h|0);d=k[j>>2]|0;break}if(n>>>0>>0?(da=d+(n<<2)|0,(f|0)!=(da|0)):0)k[g>>2]=f+(~((f+-4-da|0)>>>2)<<2)}while(0);k[d+(e<<2)>>2]=m;f=k[P>>2]|0;g=k[ma>>2]|0;d=k[f>>2]|0}else g=m;m=g+1|0;p=e+2|0;k[d+(((g|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((e|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){kg(j,p-h|0);d=k[j>>2]|0;break}if(p>>>0>>0?(ea=d+(p<<2)|0,(f|0)!=(ea|0)):0)k[g>>2]=f+(~((f+-4-ea|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=m;f=k[P>>2]|0;g=k[ma>>2]|0;d=k[f>>2]|0}m=g+2|0;e=e+3|0;k[d+(((g|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;d=k[j>>2]|0;h=f-d>>2;do if(h>>>0<=p>>>0){if(e>>>0>h>>>0){kg(j,e-h|0);d=k[j>>2]|0;break}if(e>>>0>>0?(fa=d+(e<<2)|0,(f|0)!=(fa|0)):0)k[g>>2]=f+(~((f+-4-fa|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=m}d=k[va>>2]|0;if((d|0)==(k[W>>2]|0)){vg(ta,ma);d=k[va>>2]|0}else{k[d>>2]=k[ma>>2];d=d+4|0;k[va>>2]=d}d=k[d+-4>>2]|0;break}default:{e=-1;break a}}k[$>>2]=d;k[ma>>2]=k[$>>2];Gc(G,ma);j=b-w|0;m=j+-1|0;d=k[R>>2]|0;if((d|0)!=(k[Q>>2]|0))do{f=k[d+-8>>2]|0;if((f|0)>=(j|0)){e=-1;break a}if((f|0)!=(m|0))break c;f=i[d+-4>>0]|0;h=k[d+-12>>2]|0;k[R>>2]=d+-12;if((h|0)<0){e=-1;break a}d=k[(k[va>>2]|0)+-4>>2]|0;g=(d|0)<0;do if(!(f&1)){if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{f=d+1|0;if(!g)d=((f|0)%3|0|0)==0?d+-2|0:f}while(0);k[ma>>2]=S-h;w=Td(ua,ma)|0;k[w>>2]=d;d=k[R>>2]|0}while((d|0)!=(k[Q>>2]|0))}while(0);if((ha|0)==190){k[$>>2]=d;k[ma>>2]=k[$>>2];Gc(G,ma)}if((c|0)<(b|0))w=c;else{ha=204;break}}}else{e=0;c=0;ha=204}while(0);do if((ha|0)==204)if((e|0)<=(ga|0)){d=k[va>>2]|0;g:do if((d|0)!=(k[ta>>2]|0)){t=a+316|0;u=a+8|0;v=a+64|0;w=a+68|0;x=a+72|0;y=a+80|0;z=a+84|0;A=a+76|0;B=a+312|0;C=a+304|0;D=a+308|0;h:while(1){ga=d;n=k[ga+-4>>2]|0;k[ma>>2]=n;k[va>>2]=ga+-4;do if(i[t>>0]|0){d=k[B>>2]|0;f=(k[C>>2]|0)+(d>>>3)|0;if(f>>>0<(k[D>>2]|0)>>>0?(ga=l[f>>0]|0,k[B>>2]=d+1,ga&1<<(d&7)|0):0){ha=211;break}d=k[w>>2]|0;f=k[x>>2]|0;if((d|0)==(f<<5|0)){if((d+1|0)<0){ha=267;break h}ga=f<<6;d=d+32&-32;Zf(v,f<<5>>>0<1073741823?(ga>>>0>>0?d:ga):2147483647);d=k[w>>2]|0}k[w>>2]=d+1;ga=(k[v>>2]|0)+(d>>>5<<2)|0;k[ga>>2]=k[ga>>2]&~(1<<(d&31));d=k[y>>2]|0;if((d|0)==(k[z>>2]|0)){vg(A,ma);break}else{k[d>>2]=k[ma>>2];k[y>>2]=d+4;break}}else ha=211;while(0);if((ha|0)==211){ha=0;h=(n|0)<0;i:do if(!h){d=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>=0){f=k[(k[u>>2]|0)+12>>2]|0;g=d;while(1){d=k[f+(g<<2)>>2]|0;if((d|0)<=-1){f=0;d=g;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){f=1;break}else g=d}if(h){g=n;ha=218;break}}else f=1;g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)ha=218;else{m=k[u>>2]|0;j=k[m+12>>2]|0;while(1){h=k[j+(g<<2)>>2]|0;if((h|0)<=-1){q=0;h=j;j=m;break i}g=h+1|0;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<0){q=1;h=j;j=m;break}}}}else{f=1;g=n;d=n;ha=218}while(0);if((ha|0)==218){ha=0;j=k[u>>2]|0;q=1;h=k[j+12>>2]|0}s=c+1|0;c=c*3|0;k[oa>>2]=c;k[h+(c<<2)>>2]=n;k[h+(n<<2)>>2]=c;c=(k[oa>>2]|0)+1|0;k[h+(c<<2)>>2]=d;k[h+(d<<2)>>2]=c;c=(k[oa>>2]|0)+2|0;k[h+(c<<2)>>2]=g;k[h+(g<<2)>>2]=c;c=k[oa>>2]|0;h=d+1|0;if(!f?(ka=((h|0)%3|0|0)==0?d+-2|0:h,(ka|0)>=0):0)p=k[(k[j>>2]|0)+(((ka>>>0)/3|0)*12|0)+(((ka>>>0)%3|0)<<2)>>2]|0;else p=-1073741824;k[(k[j>>2]|0)+(((c|0)<0?-1073741824:(c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=p;if((p|0)>-1){n=j+24|0;h=j+28|0;f=k[h>>2]|0;d=k[n>>2]|0;j=f-d>>2;do if(j>>>0<=p>>>0){m=p+1|0;if(m>>>0>j>>>0){kg(n,m-j|0);d=k[n>>2]|0;break}if(m>>>0>>0?(pa=d+(m<<2)|0,(f|0)!=(pa|0)):0)k[h>>2]=f+(~((f+-4-pa|0)>>>2)<<2)}while(0);k[d+(p<<2)>>2]=c;c=k[oa>>2]|0;f=k[u>>2]|0}else f=j;n=c+1|0;d=g+1|0;if(!q?(ja=((d|0)%3|0|0)==0?g+-2|0:d,(ja|0)>=0):0)m=k[(k[f>>2]|0)+(((ja>>>0)/3|0)*12|0)+(((ja>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((c|0)<-1?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){j=f+24|0;f=f+28|0;d=k[f>>2]|0;c=k[j>>2]|0;g=d-c>>2;do if(g>>>0<=m>>>0){h=m+1|0;if(h>>>0>g>>>0){kg(j,h-g|0);c=k[j>>2]|0;break}if(h>>>0>>0?(qa=c+(h<<2)|0,(d|0)!=(qa|0)):0)k[f>>2]=d+(~((d+-4-qa|0)>>>2)<<2)}while(0);k[c+(m<<2)>>2]=n;c=k[oa>>2]|0;g=k[u>>2]|0}else g=f;p=c+2|0;d=k[ma>>2]|0;f=d+1|0;if((d|0)>=0?(ia=((f|0)%3|0|0)==0?d+-2|0:f,(ia|0)>=0):0)n=k[(k[g>>2]|0)+(((ia>>>0)/3|0)*12|0)+(((ia>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((c|0)<-2?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=g+24|0;m=g+28|0;d=k[m>>2]|0;c=k[j>>2]|0;f=d-c>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=d;if(g>>>0>f>>>0){kg(j,g-f|0);c=k[j>>2]|0;break}if(g>>>0>>0){d=c+(g<<2)|0;if((h|0)==(d|0))break;k[m>>2]=h+(~((h+-4-d|0)>>>2)<<2)}}while(0);k[c+(n<<2)>>2]=p;c=k[oa>>2]|0}if((c|0)<0)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[ra>>2]|0;ga=d+(c>>>5<<2)|0;k[ga>>2]=k[ga>>2]&~(1<<(c&31));ga=k[oa>>2]|0;c=ga+1|0;if((ga|0)<-1)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;ga=d+(c>>>5<<2)|0;k[ga>>2]=k[ga>>2]&~(1<<(c&31));ga=k[oa>>2]|0;c=ga+2|0;if((ga|0)<-2)c=-1073741824;else c=k[(k[k[u>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=d+(c>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(c&31));c=k[w>>2]|0;d=k[x>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ha=257;break}ga=d<<6;c=c+32&-32;Zf(v,d<<5>>>0<1073741823?(ga>>>0>>0?c:ga):2147483647);c=k[w>>2]|0}k[w>>2]=c+1;ga=(k[v>>2]|0)+(c>>>5<<2)|0;k[ga>>2]=k[ga>>2]|1<<(c&31);c=k[y>>2]|0;if((c|0)==(k[z>>2]|0))vg(A,oa);else{k[c>>2]=k[oa>>2];k[y>>2]=c+4}c=s}d=k[va>>2]|0;if((d|0)==(k[ta>>2]|0)){la=c;na=u;break g}}if((ha|0)==257)Kk(v);else if((ha|0)==267)Kk(v)}else{la=c;na=a+8|0}while(0);ra=k[na>>2]|0;if((la|0)==(((k[ra+4>>2]|0)-(k[ra>>2]|0)|0)/12|0|0)){h=a+88|0;c=a+92|0;g=k[c>>2]|0;d=k[h>>2]|0;f=g-d>>2;if(e>>>0>f>>>0){kg(h,e-f|0);break}if(e>>>0>>0?(sa=d+(e<<2)|0,(g|0)!=(sa|0)):0)k[c>>2]=g+(~((g+-4-sa|0)>>>2)<<2)}else e=-1}else e=-1;while(0);c=k[ua+8>>2]|0;if(c|0)do{sa=c;c=k[c>>2]|0;Fl(sa)}while((c|0)!=0);c=k[ua>>2]|0;k[ua>>2]=0;if(c|0)Fl(c);c=k[ta>>2]|0;if(!c){r=wa;return e|0}d=k[va>>2]|0;if((d|0)!=(c|0))k[va>>2]=d+(~((d+-4-c|0)>>>2)<<2);Fl(c);r=wa;return e|0}function _a(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,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;ra=r;r=r+48|0;oa=ra+28|0;pa=ra+8|0;ha=ra+4|0;ia=ra;k[oa>>2]=0;qa=oa+4|0;k[qa>>2]=0;k[oa+8>>2]=0;k[pa>>2]=0;k[pa+4>>2]=0;k[pa+8>>2]=0;k[pa+12>>2]=0;o[pa+16>>2]=1.0;la=a+136|0;ba=k[a+140>>2]|0;a:do if((b|0)>0){J=a+276|0;L=pa+4|0;M=a+8|0;N=oa+8|0;O=a+272|0;Q=a+264|0;R=a+268|0;S=a+36|0;T=a+40|0;U=b+-1|0;d=0;x=0;b:while(1){c=x+1|0;c:do if(!(i[J>>0]|0))ma=89;else{f=k[O>>2]|0;h=k[Q>>2]|0;j=k[R>>2]|0;e=h+(f>>>3)|0;if(e>>>0>>0?(w=l[e>>0]|0,W=f+1|0,k[O>>2]=W,w&1<<(f&7)|0):0){e=h+(W>>>3)|0;if(e>>>0>>0){g=(l[e>>0]|0)>>>(W&7)&1;f=f+2|0;k[O>>2]=f}else{g=0;f=W}e=h+(f>>>3)|0;if(e>>>0>>0){e=(l[e>>0]|0)>>>(f&7);k[O>>2]=f+1;e=e<<1&2}else e=0;e=(e|g)<<1|1;switch(e&7){case 1:{ma=89;break c}case 3:case 5:{u=k[(k[qa>>2]|0)+-4>>2]|0;w=x*3|0;p=((e|0)==5?2:1)+w|0;e=k[M>>2]|0;v=k[e+12>>2]|0;k[v+(p<<2)>>2]=u;k[v+(u<<2)>>2]=p;v=d+1|0;t=(p|0)<0;k[(k[e>>2]|0)+((t?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=d>>>0){if(v>>>0>h>>>0){kg(j,v-h|0);e=k[j>>2]|0;break}if(v>>>0>>0?(V=e+(v<<2)|0,(f|0)!=(V|0)):0)k[g>>2]=f+(~((f+-4-V|0)>>>2)<<2)}while(0);k[e+(d<<2)>>2]=p;e=k[M>>2]|0}d=p+1|0;if(t)q=p;else q=((d|0)%3|0|0)==0?p+-2|0:d;s=(u|0)<0;if(!s?(G=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(G|0)>=0):0)n=k[(k[e>>2]|0)+(((G>>>0)/3|0)*12|0)+(((G>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((q|0)<0?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){kg(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>>0){e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}}while(0);k[d+(n<<2)>>2]=q;e=k[M>>2]|0}do if(!t)if(!((p>>>0)%3|0)){p=p+2|0;break}else{p=p+-1|0;break}while(0);d=u+1|0;if(!s?(B=((d|0)%3|0|0)==0?u+-2|0:d,(B|0)>=0):0)n=k[(k[e>>2]|0)+(((B>>>0)/3|0)*12|0)+(((B>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((p|0)<0?-1073741824:(p>>>0)/3|0)*12|0)+(((p|0)%3|0)<<2)>>2]=n;if((n|0)>-1){j=e+24|0;m=e+28|0;e=k[m>>2]|0;d=k[j>>2]|0;f=e-d>>2;do if(f>>>0<=n>>>0){g=n+1|0;h=e;if(g>>>0>f>>>0){kg(j,g-f|0);d=k[j>>2]|0;break}if(g>>>0>=f>>>0)break;e=d+(g<<2)|0;if((h|0)==(e|0))break;k[m>>2]=h+(~((h+-4-e|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=p}k[(k[qa>>2]|0)+-4>>2]=w;d=v;break}case 7:{m=x*3|0;k[ha>>2]=m;f=k[M>>2]|0;n=d+1|0;e=k[f>>2]|0;k[e+(((m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=d;if((d|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=d>>>0){if(n>>>0>h>>>0){kg(j,n-h|0);e=k[j>>2]|0;break}if(n>>>0>>0?(_=e+(n<<2)|0,(f|0)!=(_|0)):0)k[g>>2]=f+(~((f+-4-_|0)>>>2)<<2)}while(0);k[e+(d<<2)>>2]=m;f=k[M>>2]|0;g=k[ha>>2]|0;e=k[f>>2]|0}else g=m;m=g+1|0;p=d+2|0;k[e+(((g|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=n;if((d|0)>-2){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){if(p>>>0>h>>>0){kg(j,p-h|0);e=k[j>>2]|0;break}if(p>>>0>>0?($=e+(p<<2)|0,(f|0)!=($|0)):0)k[g>>2]=f+(~((f+-4-$|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=m;f=k[M>>2]|0;g=k[ha>>2]|0;e=k[f>>2]|0}m=g+2|0;d=d+3|0;k[e+(((g|0)<-2?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=p;if((p|0)>-1){j=f+24|0;g=f+28|0;f=k[g>>2]|0;e=k[j>>2]|0;h=f-e>>2;do if(h>>>0<=p>>>0){if(d>>>0>h>>>0){kg(j,d-h|0);e=k[j>>2]|0;break}if(d>>>0>>0?(aa=e+(d<<2)|0,(f|0)!=(aa|0)):0)k[g>>2]=f+(~((f+-4-aa|0)>>>2)<<2)}while(0);k[e+(p<<2)>>2]=m}e=k[qa>>2]|0;if((e|0)==(k[N>>2]|0))vg(oa,ha);else{k[e>>2]=k[ha>>2];k[qa>>2]=e+4}break}default:break b}j=b-x|0;m=j+-1|0;e=k[T>>2]|0;if((e|0)==(k[S>>2]|0))break;while(1){f=k[e+-8>>2]|0;if((f|0)>=(j|0)){D=-1;break a}if((f|0)!=(m|0))break c;f=i[e+-4>>0]|0;h=k[e+-12>>2]|0;k[T>>2]=e+-12;if((h|0)<0){D=-1;break a}e=k[(k[qa>>2]|0)+-4>>2]|0;g=(e|0)<0;do if(!(f&1)){if(!g)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{f=e+1|0;if(!g)e=((f|0)%3|0|0)==0?e+-2|0:f}while(0);k[ha>>2]=U-h;x=Td(pa,ha)|0;k[x>>2]=e;e=k[T>>2]|0;if((e|0)==(k[S>>2]|0))break c}}t=k[(k[qa>>2]|0)+-4>>2]|0;u=(t|0)<0;d:do if(!u){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ma=12;else{h=k[M>>2]|0;g=k[h+12>>2]|0;while(1){f=k[g+(e<<2)>>2]|0;if((f|0)<=-1){p=0;break d}e=f+(((f>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){p=1;break}}}}else{e=t;ma=12}while(0);if((ma|0)==12){ma=0;h=k[M>>2]|0;p=1;g=k[h+12>>2]|0}v=x*3|0;q=v+1|0;k[g+(t<<2)>>2]=q;k[g+(q<<2)>>2]=t;w=v+2|0;k[g+(e<<2)>>2]=w;k[g+(w<<2)>>2]=e;f=t+1|0;if(!u?(z=((f|0)%3|0|0)==0?t+-2|0:f,(z|0)>=0):0)s=k[(k[h>>2]|0)+(((z>>>0)/3|0)*12|0)+(((z>>>0)%3|0)<<2)>>2]|0;else s=-1073741824;k[(k[h>>2]|0)+(((v>>>0)/3|0)*12|0)+(((v|0)%3|0)<<2)>>2]=s;if((s|0)>-1){n=h+24|0;h=h+28|0;g=k[h>>2]|0;f=k[n>>2]|0;j=g-f>>2;do if(j>>>0<=s>>>0){m=s+1|0;if(m>>>0>j>>>0){kg(n,m-j|0);f=k[n>>2]|0;break}if(m>>>0>>0?(I=f+(m<<2)|0,(g|0)!=(I|0)):0)k[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);k[f+(s<<2)>>2]=v;g=k[M>>2]|0}else g=h;f=e+1|0;if(!p?(C=((f|0)%3|0|0)==0?e+-2|0:f,(C|0)>=0):0)n=k[(k[g>>2]|0)+(((C>>>0)/3|0)*12|0)+(((C>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[g>>2]|0)+(((v|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=g+24|0;g=g+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(K=e+(j<<2)|0,(f|0)!=(K|0)):0)k[g>>2]=f+(~((f+-4-K|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=q;e=k[M>>2]|0}else e=g;if(!u?(H=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(H|0)>=0):0)n=k[(k[e>>2]|0)+(((H>>>0)/3|0)*12|0)+(((H>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((v|0)<-2?-1073741824:(w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(P=e+(j<<2)|0,(f|0)!=(P|0)):0)k[g>>2]=f+(~((f+-4-P|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=w}if((d|0)>(ba|0)){D=-1;break a}x=(k[la>>2]|0)+(s>>>5<<2)|0;k[x>>2]=k[x>>2]&~(1<<(s&31));k[(k[qa>>2]|0)+-4>>2]=v}while(0);if((ma|0)==89){ma=0;e=k[qa>>2]|0;n=e+-4|0;u=k[n>>2]|0;k[qa>>2]=n;h=k[L>>2]|0;e:do if(h){j=h+-1|0;g=(j&h|0)==0;if(g)m=j&x;else m=(x>>>0)%(h>>>0)|0;f=k[(k[pa>>2]|0)+(m<<2)>>2]|0;if(f){if(g)do{f=k[f>>2]|0;if(!f){e=n;break e}if((k[f+4>>2]&j|0)!=(m|0)){e=n;break e}}while((k[f+8>>2]|0)!=(x|0));else do{f=k[f>>2]|0;if(!f){e=n;break e}if((((k[f+4>>2]|0)>>>0)%(h>>>0)|0|0)!=(m|0)){e=n;break e}}while((k[f+8>>2]|0)!=(x|0));f=f+12|0;if((n|0)==(k[N>>2]|0)){vg(oa,f);e=k[qa>>2]|0;break}else{k[n>>2]=k[f>>2];k[qa>>2]=e;break}}else e=n}else e=n;while(0);p=k[e+-4>>2]|0;w=x*3|0;s=w+2|0;e=k[M>>2]|0;n=k[e+12>>2]|0;k[n+(p<<2)>>2]=s;k[n+(s<<2)>>2]=p;q=w+1|0;k[n+(u<<2)>>2]=q;k[n+(q<<2)>>2]=u;n=(p|0)<0;if(!n?(F=(((p>>>0)%3|0|0)==0?2:-1)+p|0,(F|0)>=0):0)v=k[(k[e>>2]|0)+(((F>>>0)/3|0)*12|0)+(((F>>>0)%3|0)<<2)>>2]|0;else v=-1073741824;k[(k[e>>2]|0)+(((w>>>0)/3|0)*12|0)+(((w|0)%3|0)<<2)>>2]=v;t=(v|0)>-1;if(t){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=v>>>0){j=v+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(X=e+(j<<2)|0,(f|0)!=(X|0)):0)k[g>>2]=f+(~((f+-4-X|0)>>>2)<<2)}while(0);k[e+(v<<2)>>2]=w;e=k[M>>2]|0}f=p+1|0;if(!n?(A=((f|0)%3|0|0)==0?p+-2|0:f,(A|0)>=0):0)n=k[(k[e>>2]|0)+(((A>>>0)/3|0)*12|0)+(((A>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((w|0)<-1?-1073741824:(q>>>0)/3|0)*12|0)+(((q|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Y=e+(j<<2)|0,(f|0)!=(Y|0)):0)k[g>>2]=f+(~((f+-4-Y|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=q;e=k[M>>2]|0}p=(u|0)<0;if(!p?(E=(((u>>>0)%3|0|0)==0?2:-1)+u|0,(E|0)>=0):0)n=k[(k[e>>2]|0)+(((E>>>0)/3|0)*12|0)+(((E>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[e>>2]|0)+(((w|0)<-2?-1073741824:(s>>>0)/3|0)*12|0)+(((s|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=e+24|0;g=e+28|0;f=k[g>>2]|0;e=k[m>>2]|0;h=f-e>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);e=k[m>>2]|0;break}if(j>>>0>>0?(Z=e+(j<<2)|0,(f|0)!=(Z|0)):0)k[g>>2]=f+(~((f+-4-Z|0)>>>2)<<2)}while(0);k[e+(n<<2)>>2]=s}e=u+1|0;f:do if(!p?(y=((e|0)%3|0|0)==0?u+-2|0:e,(y|0)>=0):0){e=k[(k[k[M>>2]>>2]|0)+(((y>>>0)/3|0)*12|0)+(((y>>>0)%3|0)<<2)>>2]|0;f=k[M>>2]|0;q=v+1|0;if(t)p=y;else{j=k[f>>2]|0;m=f+12|0;g=y;while(1){k[j+(((g>>>0)/3|0)*12|0)+(((g>>>0)%3|0)<<2)>>2]=v;x=g+1|0;g=((x|0)%3|0|0)==0?g+-2|0:x;if((g|0)<0)break f;g=k[(k[m>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;g=((h|0)%3|0|0)==0?g+-2|0:h;if((g|0)<=-1)break f}}do{k[(k[f>>2]|0)+(((p>>>0)/3|0)*12|0)+(((p>>>0)%3|0)<<2)>>2]=v;m=f+24|0;n=f+28|0;g=k[n>>2]|0;f=k[m>>2]|0;h=g-f>>2;do if(h>>>0<=v>>>0){j=g;if(q>>>0>h>>>0){kg(m,q-h|0);f=k[m>>2]|0;break}if(q>>>0>=h>>>0)break;g=f+(q<<2)|0;if((j|0)==(g|0))break;k[n>>2]=j+(~((j+-4-g|0)>>>2)<<2)}while(0);k[f+(v<<2)>>2]=p;g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;f=k[M>>2]|0;if((g|0)<0)break f;g=k[(k[f+12>>2]|0)+(g<<2)>>2]|0;h=g+1|0;if((g|0)<0)break f;p=((h|0)%3|0|0)==0?g+-2|0:h}while((p|0)>-1)}else ma=139;while(0);if((ma|0)==139){ma=0;f=k[M>>2]|0;e=-1073741824}k[(k[f+24>>2]|0)+(e<<2)>>2]=-1073741824;k[(k[qa>>2]|0)+-4>>2]=w}if((c|0)<(b|0))x=c;else{D=d;ma=196;break a}}}else{D=0;c=0;ma=196}while(0);do if((ma|0)==196)if((D|0)<=(ba|0)){d=k[qa>>2]|0;g:do if((d|0)!=(k[oa>>2]|0)){s=a+316|0;t=a+8|0;u=a+64|0;v=a+68|0;w=a+72|0;x=a+80|0;y=a+84|0;z=a+76|0;A=a+312|0;B=a+304|0;C=a+308|0;h:while(1){ba=d;m=k[ba+-4>>2]|0;k[ha>>2]=m;k[qa>>2]=ba+-4;do if(i[s>>0]|0){d=k[A>>2]|0;e=(k[B>>2]|0)+(d>>>3)|0;if(e>>>0<(k[C>>2]|0)>>>0?(ba=l[e>>0]|0,k[A>>2]=d+1,ba&1<<(d&7)|0):0){ma=203;break}d=k[v>>2]|0;e=k[w>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){ma=259;break h}ba=e<<6;d=d+32&-32;Zf(u,e<<5>>>0<1073741823?(ba>>>0>>0?d:ba):2147483647);d=k[v>>2]|0}k[v>>2]=d+1;ba=(k[u>>2]|0)+(d>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(d&31));d=k[x>>2]|0;if((d|0)==(k[y>>2]|0)){vg(z,ha);break}else{k[d>>2]=k[ha>>2];k[x>>2]=d+4;break}}else ma=203;while(0);if((ma|0)==203){ma=0;g=(m|0)<0;i:do if(!g){d=m+(((m>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>=0){e=k[(k[t>>2]|0)+12>>2]|0;f=d;while(1){d=k[e+(f<<2)>>2]|0;if((d|0)<=-1){e=0;d=f;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)<0){e=1;break}else f=d}if(g){f=m;ma=210;break}}else e=1;f=m+1|0;f=((f|0)%3|0|0)==0?m+-2|0:f;if((f|0)<0)ma=210;else{j=k[t>>2]|0;h=k[j+12>>2]|0;while(1){g=k[h+(f<<2)>>2]|0;if((g|0)<=-1){p=0;g=h;h=j;break i}f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0){p=1;g=h;h=j;break}}}}else{e=1;f=m;d=m;ma=210}while(0);if((ma|0)==210){ma=0;h=k[t>>2]|0;p=1;g=k[h+12>>2]|0}q=c+1|0;c=c*3|0;k[ia>>2]=c;k[g+(c<<2)>>2]=m;k[g+(m<<2)>>2]=c;c=(k[ia>>2]|0)+1|0;k[g+(c<<2)>>2]=d;k[g+(d<<2)>>2]=c;c=(k[ia>>2]|0)+2|0;k[g+(c<<2)>>2]=f;k[g+(f<<2)>>2]=c;c=k[ia>>2]|0;g=d+1|0;if(!e?(ea=((g|0)%3|0|0)==0?d+-2|0:g,(ea|0)>=0):0)n=k[(k[h>>2]|0)+(((ea>>>0)/3|0)*12|0)+(((ea>>>0)%3|0)<<2)>>2]|0;else n=-1073741824;k[(k[h>>2]|0)+(((c|0)<0?-1073741824:(c>>>0)/3|0)*12|0)+(((c|0)%3|0)<<2)>>2]=n;if((n|0)>-1){m=h+24|0;g=h+28|0;e=k[g>>2]|0;d=k[m>>2]|0;h=e-d>>2;do if(h>>>0<=n>>>0){j=n+1|0;if(j>>>0>h>>>0){kg(m,j-h|0);d=k[m>>2]|0;break}if(j>>>0>>0?(ja=d+(j<<2)|0,(e|0)!=(ja|0)):0)k[g>>2]=e+(~((e+-4-ja|0)>>>2)<<2)}while(0);k[d+(n<<2)>>2]=c;c=k[ia>>2]|0;e=k[t>>2]|0}else e=h;m=c+1|0;d=f+1|0;if(!p?(da=((d|0)%3|0|0)==0?f+-2|0:d,(da|0)>=0):0)j=k[(k[e>>2]|0)+(((da>>>0)/3|0)*12|0)+(((da>>>0)%3|0)<<2)>>2]|0;else j=-1073741824;k[(k[e>>2]|0)+(((c|0)<-1?-1073741824:(m>>>0)/3|0)*12|0)+(((m|0)%3|0)<<2)>>2]=j;if((j|0)>-1){h=e+24|0;e=e+28|0;d=k[e>>2]|0;c=k[h>>2]|0;f=d-c>>2;do if(f>>>0<=j>>>0){g=j+1|0;if(g>>>0>f>>>0){kg(h,g-f|0);c=k[h>>2]|0;break}if(g>>>0>>0?(ka=c+(g<<2)|0,(d|0)!=(ka|0)):0)k[e>>2]=d+(~((d+-4-ka|0)>>>2)<<2)}while(0);k[c+(j<<2)>>2]=m;c=k[ia>>2]|0;f=k[t>>2]|0}else f=e;n=c+2|0;d=k[ha>>2]|0;e=d+1|0;if((d|0)>=0?(ca=((e|0)%3|0|0)==0?d+-2|0:e,(ca|0)>=0):0)m=k[(k[f>>2]|0)+(((ca>>>0)/3|0)*12|0)+(((ca>>>0)%3|0)<<2)>>2]|0;else m=-1073741824;k[(k[f>>2]|0)+(((c|0)<-2?-1073741824:(n>>>0)/3|0)*12|0)+(((n|0)%3|0)<<2)>>2]=m;if((m|0)>-1){h=f+24|0;j=f+28|0;d=k[j>>2]|0;c=k[h>>2]|0;e=d-c>>2;do if(e>>>0<=m>>>0){f=m+1|0;g=d;if(f>>>0>e>>>0){kg(h,f-e|0);c=k[h>>2]|0;break}if(f>>>0>>0){d=c+(f<<2)|0;if((g|0)==(d|0))break;k[j>>2]=g+(~((g+-4-d|0)>>>2)<<2)}}while(0);k[c+(m<<2)>>2]=n;c=k[ia>>2]|0}if((c|0)<0)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=k[la>>2]|0;ba=d+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));ba=k[ia>>2]|0;c=ba+1|0;if((ba|0)<-1)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;ba=d+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]&~(1<<(c&31));ba=k[ia>>2]|0;c=ba+2|0;if((ba|0)<-2)c=-1073741824;else c=k[(k[k[t>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;d=d+(c>>>5<<2)|0;k[d>>2]=k[d>>2]&~(1<<(c&31));c=k[v>>2]|0;d=k[w>>2]|0;if((c|0)==(d<<5|0)){if((c+1|0)<0){ma=249;break}ba=d<<6;c=c+32&-32;Zf(u,d<<5>>>0<1073741823?(ba>>>0>>0?c:ba):2147483647);c=k[v>>2]|0}k[v>>2]=c+1;ba=(k[u>>2]|0)+(c>>>5<<2)|0;k[ba>>2]=k[ba>>2]|1<<(c&31);c=k[x>>2]|0;if((c|0)==(k[y>>2]|0))vg(z,ia);else{k[c>>2]=k[ia>>2];k[x>>2]=c+4}c=q}d=k[qa>>2]|0;if((d|0)==(k[oa>>2]|0)){fa=c;ga=t;break g}}if((ma|0)==249)Kk(u);else if((ma|0)==259)Kk(u)}else{fa=c;ga=a+8|0}while(0);ma=k[ga>>2]|0;if((fa|0)==(((k[ma+4>>2]|0)-(k[ma>>2]|0)|0)/12|0|0)){g=a+88|0;c=a+92|0;f=k[c>>2]|0;d=k[g>>2]|0;e=f-d>>2;if(D>>>0>e>>>0){kg(g,D-e|0);break}if(D>>>0>>0?(na=d+(D<<2)|0,(f|0)!=(na|0)):0)k[c>>2]=f+(~((f+-4-na|0)>>>2)<<2)}else D=-1}else D=-1;while(0);c=k[pa+8>>2]|0;if(c|0)do{na=c;c=k[c>>2]|0;Fl(na)}while((c|0)!=0);c=k[pa>>2]|0;k[pa>>2]=0;if(c|0)Fl(c);c=k[oa>>2]|0;if(!c){r=ra;return D|0}d=k[qa>>2]|0;if((d|0)!=(c|0))k[qa>>2]=d+(~((d+-4-c|0)>>>2)<<2);Fl(c);r=ra;return D|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;L=r;r=r+16|0;o=L;do if(a>>>0<245){n=a>>>0<11?16:a+11&-8;a=n>>>3;t=k[3594]|0;c=t>>>a;if(c&3|0){a=(c&1^1)+a|0;c=14416+(a<<1<<2)|0;d=c+8|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[3598]|0)>>>0)ya();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else ya()}else k[3594]=t&~(1<>2]=K|3;K=e+K+4|0;k[K>>2]=k[K>>2]|1;K=f;r=L;return K|0}s=k[3596]|0;if(n>>>0>s>>>0){if(c|0){h=2<>>12&16;a=a>>>h;d=a>>>5&8;a=a>>>d;f=a>>>2&4;a=a>>>f;c=a>>>1&2;a=a>>>c;b=a>>>1&1;b=(d|h|f|c|b)+(a>>>b)|0;a=14416+(b<<1<<2)|0;c=a+8|0;f=k[c>>2]|0;h=f+8|0;d=k[h>>2]|0;do if((a|0)!=(d|0)){if(d>>>0<(k[3598]|0)>>>0)ya();e=d+12|0;if((k[e>>2]|0)==(f|0)){k[e>>2]=a;k[c>>2]=d;i=t;break}else ya()}else{i=t&~(1<>2]=n|3;d=f+n|0;k[d+4>>2]=g|1;k[d+g>>2]=g;if(s|0){e=k[3599]|0;b=s>>>3;c=14416+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[3598]|0)>>>0)ya();else{j=a;l=b}}else{k[3594]=i|b;j=c;l=c+8|0}k[l>>2]=e;k[j+12>>2]=e;k[e+8>>2]=j;k[e+12>>2]=c}k[3596]=g;k[3599]=d;K=h;r=L;return K|0}j=k[3595]|0;if(j){a=(j&0-j)+-1|0;J=a>>>12&16;a=a>>>J;I=a>>>5&8;a=a>>>I;K=a>>>2&4;a=a>>>K;h=a>>>1&2;a=a>>>h;i=a>>>1&1;i=k[14680+((I|J|K|h|i)+(a>>>i)<<2)>>2]|0;a=i;h=i;i=(k[i+4>>2]&-8)-n|0;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b)break}K=(k[b+4>>2]&-8)-n|0;J=K>>>0>>0;a=b;h=J?b:h;i=J?K:i}e=k[3598]|0;if(h>>>0>>0)ya();g=h+n|0;if(h>>>0>=g>>>0)ya();f=k[h+24>>2]|0;c=k[h+12>>2]|0;do if((c|0)==(h|0)){a=h+20|0;b=k[a>>2]|0;if(!b){a=h+16|0;b=k[a>>2]|0;if(!b){m=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)ya();else{k[a>>2]=0;m=b;break}}else{d=k[h+8>>2]|0;if(d>>>0>>0)ya();b=d+12|0;if((k[b>>2]|0)!=(h|0))ya();a=c+8|0;if((k[a>>2]|0)==(h|0)){k[b>>2]=c;k[a>>2]=d;m=c;break}else ya()}while(0);do if(f|0){b=k[h+28>>2]|0;a=14680+(b<<2)|0;if((h|0)==(k[a>>2]|0)){k[a>>2]=m;if(!m){k[3595]=j&~(1<>>0<(k[3598]|0)>>>0)ya();b=f+16|0;if((k[b>>2]|0)==(h|0))k[b>>2]=m;else k[f+20>>2]=m;if(!m)break}a=k[3598]|0;if(m>>>0>>0)ya();k[m+24>>2]=f;b=k[h+16>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);b=k[h+20>>2]|0;if(b|0)if(b>>>0<(k[3598]|0)>>>0)ya();else{k[m+20>>2]=b;k[b+24>>2]=m;break}}while(0);if(i>>>0<16){K=i+n|0;k[h+4>>2]=K|3;K=h+K+4|0;k[K>>2]=k[K>>2]|1}else{k[h+4>>2]=n|3;k[g+4>>2]=i|1;k[g+i>>2]=i;if(s|0){d=k[3599]|0;b=s>>>3;c=14416+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(k[3598]|0)>>>0)ya();else{p=a;q=b}}else{k[3594]=t|b;p=c;q=c+8|0}k[q>>2]=d;k[p+12>>2]=d;k[d+8>>2]=p;k[d+12>>2]=c}k[3596]=i;k[3599]=g}K=h+8|0;r=L;return K|0}}}else if(a>>>0<=4294967231){a=a+11|0;n=a&-8;j=k[3595]|0;if(j){d=0-n|0;a=a>>>8;if(a)if(n>>>0>16777215)i=31;else{q=(a+1048320|0)>>>16&8;D=a<>>16&4;D=D<>>16&2;i=14-(p|q|i)+(D<>>15)|0;i=n>>>(i+7|0)&1|i<<1}else i=0;a=k[14680+(i<<2)>>2]|0;a:do if(!a){c=0;e=0;D=86}else{e=0;h=a;g=n<<((i|0)==31?0:25-(i>>>1)|0);c=0;while(1){a=(k[h+4>>2]&-8)-n|0;if(a>>>0>>0)if(!a){a=h;d=0;c=h;D=90;break a}else{e=h;d=a}a=k[h+20>>2]|0;h=k[h+16+(g>>>31<<2)>>2]|0;c=(a|0)==0|(a|0)==(h|0)?c:a;a=(h|0)==0;if(a){D=86;break}else g=g<<(a&1^1)}}while(0);if((D|0)==86){if((c|0)==0&(e|0)==0){a=2<>>12&16;q=q>>>l;i=q>>>5&8;q=q>>>i;m=q>>>2&4;q=q>>>m;p=q>>>1&2;q=q>>>p;c=q>>>1&1;c=k[14680+((i|l|m|p|c)+(q>>>c)<<2)>>2]|0}if(!c){i=e;h=d}else{a=e;D=90}}if((D|0)==90)while(1){D=0;q=(k[c+4>>2]&-8)-n|0;e=q>>>0>>0;d=e?q:d;a=e?c:a;e=k[c+16>>2]|0;if(e|0){c=e;D=90;continue}c=k[c+20>>2]|0;if(!c){i=a;h=d;break}else D=90}if((i|0)!=0?h>>>0<((k[3596]|0)-n|0)>>>0:0){e=k[3598]|0;if(i>>>0>>0)ya();g=i+n|0;if(i>>>0>=g>>>0)ya();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){s=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d|0){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)ya();else{k[a>>2]=0;s=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)ya();b=d+12|0;if((k[b>>2]|0)!=(i|0))ya();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;s=c;break}else ya()}while(0);do if(f){b=k[i+28>>2]|0;a=14680+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=s;if(!s){t=j&~(1<>>0<(k[3598]|0)>>>0)ya();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=s;else k[f+20>>2]=s;if(!s){t=j;break}}a=k[3598]|0;if(s>>>0>>0)ya();k[s+24>>2]=f;b=k[i+16>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[s+16>>2]=b;k[b+24>>2]=s;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[3598]|0)>>>0)ya();else{k[s+20>>2]=b;k[b+24>>2]=s;t=j;break}else t=j}else t=j;while(0);do if(h>>>0>=16){k[i+4>>2]=n|3;k[g+4>>2]=h|1;k[g+h>>2]=h;b=h>>>3;if(h>>>0<256){c=14416+(b<<1<<2)|0;a=k[3594]|0;b=1<>2]|0;if(a>>>0<(k[3598]|0)>>>0)ya();else{B=a;C=b}}else{k[3594]=a|b;B=c;C=c+8|0}k[C>>2]=g;k[B+12>>2]=g;k[g+8>>2]=B;k[g+12>>2]=c;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;c=14680+(b<<2)|0;k[g+28>>2]=b;a=g+16|0;k[a+4>>2]=0;k[a>>2]=0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=k[c>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(h|0)){D=148;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=145;break}else{a=a<<1;d=b}}if((D|0)==145)if(c>>>0<(k[3598]|0)>>>0)ya();else{k[c>>2]=g;k[g+24>>2]=d;k[g+12>>2]=g;k[g+8>>2]=g;break}else if((D|0)==148){b=d+8|0;a=k[b>>2]|0;K=k[3598]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=d;k[g+24>>2]=0;break}else ya()}}else{K=h+n|0;k[i+4>>2]=K|3;K=i+K+4|0;k[K>>2]=k[K>>2]|1}while(0);K=i+8|0;r=L;return K|0}}}else n=-1;while(0);c=k[3596]|0;if(c>>>0>=n>>>0){b=c-n|0;a=k[3599]|0;if(b>>>0>15){K=a+n|0;k[3599]=K;k[3596]=b;k[K+4>>2]=b|1;k[K+b>>2]=b;k[a+4>>2]=n|3}else{k[3596]=0;k[3599]=0;k[a+4>>2]=c|3;K=a+c+4|0;k[K>>2]=k[K>>2]|1}K=a+8|0;r=L;return K|0}h=k[3597]|0;if(h>>>0>n>>>0){I=h-n|0;k[3597]=I;K=k[3600]|0;J=K+n|0;k[3600]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}if(!(k[3712]|0)){k[3714]=4096;k[3713]=4096;k[3715]=-1;k[3716]=-1;k[3717]=0;k[3705]=0;a=o&-16^1431655768;k[o>>2]=a;k[3712]=a;a=4096}else a=k[3714]|0;i=n+48|0;j=n+47|0;g=a+j|0;e=0-a|0;l=g&e;if(l>>>0<=n>>>0){K=0;r=L;return K|0}a=k[3704]|0;if(a|0?(B=k[3702]|0,C=B+l|0,C>>>0<=B>>>0|C>>>0>a>>>0):0){K=0;r=L;return K|0}b:do if(!(k[3705]&4)){c=k[3600]|0;c:do if(c){d=14824;while(1){a=k[d>>2]|0;if(a>>>0<=c>>>0?(u=d+4|0,(a+(k[u>>2]|0)|0)>>>0>c>>>0):0)break;a=k[d+8>>2]|0;if(!a){D=172;break c}else d=a}c=g-h&e;if(c>>>0<2147483647){a=$h(c|0)|0;if((a|0)==((k[d>>2]|0)+(k[u>>2]|0)|0)){if((a|0)!=(-1|0)){g=c;f=a;D=190;break b}}else{b=c;D=180}}}else D=172;while(0);do if(((D|0)==172?(f=$h(0)|0,(f|0)!=(-1|0)):0)?(b=f,v=k[3713]|0,w=v+-1|0,b=((w&b|0)==0?0:(w+b&0-v)-b|0)+l|0,v=k[3702]|0,w=b+v|0,b>>>0>n>>>0&b>>>0<2147483647):0){C=k[3704]|0;if(C|0?w>>>0<=v>>>0|w>>>0>C>>>0:0)break;a=$h(b|0)|0;if((a|0)==(f|0)){g=b;D=190;break b}else D=180}while(0);d:do if((D|0)==180){c=0-b|0;do if(i>>>0>b>>>0&(b>>>0<2147483647&(a|0)!=(-1|0))?(x=k[3714]|0,x=j-b+x&0-x,x>>>0<2147483647):0)if(($h(x|0)|0)==(-1|0)){$h(c|0)|0;break d}else{b=x+b|0;break}while(0);if((a|0)!=(-1|0)){g=b;f=a;D=190;break b}}while(0);k[3705]=k[3705]|4;D=187}else D=187;while(0);if((((D|0)==187?l>>>0<2147483647:0)?(A=$h(l|0)|0,y=$h(0)|0,A>>>0>>0&((A|0)!=(-1|0)&(y|0)!=(-1|0))):0)?(z=y-A|0,z>>>0>(n+40|0)>>>0):0){g=z;f=A;D=190}if((D|0)==190){b=(k[3702]|0)+g|0;k[3702]=b;if(b>>>0>(k[3703]|0)>>>0)k[3703]=b;j=k[3600]|0;do if(j){b=14824;while(1){a=k[b>>2]|0;c=b+4|0;d=k[c>>2]|0;if((f|0)==(a+d|0)){D=200;break}e=k[b+8>>2]|0;if(!e)break;else b=e}if(((D|0)==200?(k[b+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=a>>>0:0){k[c>>2]=d+g;K=j+8|0;K=(K&7|0)==0?0:0-K&7;J=j+K|0;K=g-K+(k[3597]|0)|0;k[3600]=J;k[3597]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[3601]=k[3716];break}b=k[3598]|0;if(f>>>0>>0){k[3598]=f;h=f}else h=b;a=f+g|0;b=14824;while(1){if((k[b>>2]|0)==(a|0)){D=208;break}b=k[b+8>>2]|0;if(!b){a=14824;break}}if((D|0)==208)if(!(k[b+12>>2]&8)){k[b>>2]=f;m=b+4|0;k[m>>2]=(k[m>>2]|0)+g;m=f+8|0;m=f+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;k[m+4>>2]=n|3;do if((b|0)!=(j|0)){if((b|0)==(k[3599]|0)){K=(k[3596]|0)+i|0;k[3596]=K;k[3599]=l;k[l+4>>2]=K|1;k[l+K>>2]=K;break}a=k[b+4>>2]|0;if((a&3|0)==1){g=a&-8;e=a>>>3;e:do if(a>>>0>=256){f=k[b+24>>2]|0;d=k[b+12>>2]|0;do if((d|0)==(b|0)){d=b+16|0;c=d+4|0;a=k[c>>2]|0;if(!a){a=k[d>>2]|0;if(!a){I=0;break}else c=d}while(1){d=a+20|0;e=k[d>>2]|0;if(e|0){a=e;c=d;continue}d=a+16|0;e=k[d>>2]|0;if(!e)break;else{a=e;c=d}}if(c>>>0>>0)ya();else{k[c>>2]=0;I=a;break}}else{e=k[b+8>>2]|0;if(e>>>0>>0)ya();a=e+12|0;if((k[a>>2]|0)!=(b|0))ya();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;I=d;break}else ya()}while(0);if(!f)break;a=k[b+28>>2]|0;c=14680+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(f>>>0<(k[3598]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=I;else k[f+20>>2]=I;if(!I)break e}else{k[c>>2]=I;if(I|0)break;k[3595]=k[3595]&~(1<>>0>>0)ya();k[I+24>>2]=f;a=b+16|0;c=k[a>>2]|0;do if(c|0)if(c>>>0>>0)ya();else{k[I+16>>2]=c;k[c+24>>2]=I;break}while(0);a=k[a+4>>2]|0;if(!a)break;if(a>>>0<(k[3598]|0)>>>0)ya();else{k[I+20>>2]=a;k[a+24>>2]=I;break}}else{c=k[b+8>>2]|0;d=k[b+12>>2]|0;a=14416+(e<<1<<2)|0;do if((c|0)!=(a|0)){if(c>>>0>>0)ya();if((k[c+12>>2]|0)==(b|0))break;ya()}while(0);if((d|0)==(c|0)){k[3594]=k[3594]&~(1<>>0>>0)ya();a=d+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}ya()}while(0);k[c+12>>2]=d;k[F>>2]=c}while(0);b=b+g|0;e=g+i|0}else e=i;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[l+4>>2]=e|1;k[l+e>>2]=e;b=e>>>3;if(e>>>0<256){c=14416+(b<<1<<2)|0;a=k[3594]|0;b=1<>2]|0;if(a>>>0>=(k[3598]|0)>>>0){J=a;K=b;break}ya()}while(0);k[K>>2]=l;k[J+12>>2]=l;k[l+8>>2]=J;k[l+12>>2]=c;break}b=e>>>8;do if(!b)b=0;else{if(e>>>0>16777215){b=31;break}J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;b=14-(I|J|b)+(K<>>15)|0;b=e>>>(b+7|0)&1|b<<1}while(0);d=14680+(b<<2)|0;k[l+28>>2]=b;a=l+16|0;k[a+4>>2]=0;k[a>>2]=0;a=k[3595]|0;c=1<>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}a=e<<((b|0)==31?0:25-(b>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){D=278;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=275;break}else{a=a<<1;d=b}}if((D|0)==275)if(c>>>0<(k[3598]|0)>>>0)ya();else{k[c>>2]=l;k[l+24>>2]=d;k[l+12>>2]=l;k[l+8>>2]=l;break}else if((D|0)==278){b=d+8|0;a=k[b>>2]|0;K=k[3598]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=l;k[b>>2]=l;k[l+8>>2]=a;k[l+12>>2]=d;k[l+24>>2]=0;break}else ya()}}else{K=(k[3597]|0)+i|0;k[3597]=K;k[3600]=l;k[l+4>>2]=K|1}while(0);K=m+8|0;r=L;return K|0}else a=14824;while(1){b=k[a>>2]|0;if(b>>>0<=j>>>0?(E=b+(k[a+4>>2]|0)|0,E>>>0>j>>>0):0)break;a=k[a+8>>2]|0}e=E+-47|0;a=e+8|0;a=e+((a&7|0)==0?0:0-a&7)|0;e=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;c=f+8|0;c=(c&7|0)==0?0:0-c&7;K=f+c|0;c=g+-40-c|0;k[3600]=K;k[3597]=c;k[K+4>>2]=c|1;k[K+c+4>>2]=40;k[3601]=k[3716];c=a+4|0;k[c>>2]=27;k[b>>2]=k[3706];k[b+4>>2]=k[3707];k[b+8>>2]=k[3708];k[b+12>>2]=k[3709];k[3706]=f;k[3707]=g;k[3709]=0;k[3708]=b;b=a+24|0;do{b=b+4|0;k[b>>2]=7}while((b+4|0)>>>0>>0);if((a|0)!=(j|0)){f=a-j|0;k[c>>2]=k[c>>2]&-2;k[j+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){c=14416+(b<<1<<2)|0;a=k[3594]|0;b=1<>2]|0;if(a>>>0<(k[3598]|0)>>>0)ya();else{G=a;H=b}}else{k[3594]=a|b;G=c;H=c+8|0}k[H>>2]=j;k[G+12>>2]=j;k[j+8>>2]=G;k[j+12>>2]=c;break}b=f>>>8;if(b)if(f>>>0>16777215)c=31;else{J=(b+1048320|0)>>>16&8;K=b<>>16&4;K=K<>>16&2;c=14-(I|J|c)+(K<>>15)|0;c=f>>>(c+7|0)&1|c<<1}else c=0;d=14680+(c<<2)|0;k[j+28>>2]=c;k[j+20>>2]=0;k[e>>2]=0;b=k[3595]|0;a=1<>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}a=f<<((c|0)==31?0:25-(c>>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(f|0)){D=304;break}c=d+16+(a>>>31<<2)|0;b=k[c>>2]|0;if(!b){D=301;break}else{a=a<<1;d=b}}if((D|0)==301)if(c>>>0<(k[3598]|0)>>>0)ya();else{k[c>>2]=j;k[j+24>>2]=d;k[j+12>>2]=j;k[j+8>>2]=j;break}else if((D|0)==304){b=d+8|0;a=k[b>>2]|0;K=k[3598]|0;if(a>>>0>=K>>>0&d>>>0>=K>>>0){k[a+12>>2]=j;k[b>>2]=j;k[j+8>>2]=a;k[j+12>>2]=d;k[j+24>>2]=0;break}else ya()}}}else{K=k[3598]|0;if((K|0)==0|f>>>0>>0)k[3598]=f;k[3706]=f;k[3707]=g;k[3709]=0;k[3603]=k[3712];k[3602]=-1;b=0;do{K=14416+(b<<1<<2)|0;k[K+12>>2]=K;k[K+8>>2]=K;b=b+1|0}while((b|0)!=32);K=f+8|0;K=(K&7|0)==0?0:0-K&7;J=f+K|0;K=g+-40-K|0;k[3600]=J;k[3597]=K;k[J+4>>2]=K|1;k[J+K+4>>2]=40;k[3601]=k[3716]}while(0);b=k[3597]|0;if(b>>>0>n>>>0){I=b-n|0;k[3597]=I;K=k[3600]|0;J=K+n|0;k[3600]=J;k[J+4>>2]=I|1;k[K+4>>2]=n|3;K=K+8|0;r=L;return K|0}}K=Xj()|0;k[K>>2]=12;K=0;r=L;return K|0}function ab(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0.0,o=0,q=0,s=0,t=0,v=0.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,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,ja=0;ja=r;r=r+624|0;fa=ja+24|0;ga=ja+16|0;ha=ja+588|0;X=ja+576|0;ia=ja;S=ja+536|0;N=ja+8|0;O=ja+528|0;P=(a|0)!=0;Q=S+40|0;R=Q;S=S+39|0;T=N+4|0;U=ha;V=0-U|0;W=X+12|0;X=X+11|0;Y=W;Z=Y-U|0;_=-2-U|0;aa=Y+2|0;ba=fa+288|0;ca=ha+9|0;da=ca;ea=ha+8|0;g=0;f=0;q=0;a:while(1){do if((f|0)>-1)if((g|0)>(2147483647-f|0)){f=Xj()|0;k[f>>2]=75;f=-1;break}else{f=g+f|0;break}while(0);g=i[b>>0]|0;if(!(g<<24>>24)){L=243;break}else h=b;b:while(1){switch(g<<24>>24){case 37:{g=h;L=9;break b}case 0:{g=h;break b}default:{}}g=h+1|0;h=g;g=i[g>>0]|0}c:do if((L|0)==9)while(1){L=0;if((i[h+1>>0]|0)!=37)break c;g=g+1|0;h=h+2|0;if((i[h>>0]|0)==37)L=9;else break}while(0);g=g-b|0;if(P?(k[a>>2]&32|0)==0:0)pg(b,g,a)|0;if(g|0){b=h;continue}o=h+1|0;m=i[o>>0]|0;g=(m<<24>>24)+-48|0;if(g>>>0<10){t=(i[h+2>>0]|0)==36;o=t?h+3|0:o;w=t?g:-1;t=t?1:q;g=i[o>>0]|0}else{w=-1;t=q;g=m}h=(g<<24>>24)+-32|0;d:do if(h>>>0<32){m=0;do{if(!(1<>24)+-32|m;o=o+1|0;g=i[o>>0]|0;h=(g<<24>>24)+-32|0}while(h>>>0<32)}else m=0;while(0);do if(g<<24>>24!=42){h=(g<<24>>24)+-48|0;if(h>>>0<10){q=0;do{q=(q*10|0)+h|0;o=o+1|0;g=i[o>>0]|0;h=(g<<24>>24)+-48|0}while(h>>>0<10);if((q|0)<0){f=-1;break a}else K=t}else{q=0;K=t}}else{s=o+1|0;g=i[s>>0]|0;h=(g<<24>>24)+-48|0;if(h>>>0<10?(i[o+2>>0]|0)==36:0){k[e+(h<<2)>>2]=10;g=k[d+((i[s>>0]|0)+-48<<3)>>2]|0;h=1;s=o+3|0}else{if(t|0){f=-1;break a}if(!P){q=0;K=0;o=s;break}h=(k[c>>2]|0)+(4-1)&~(4-1);g=k[h>>2]|0;k[c>>2]=h+4;h=0}K=(g|0)<0;q=K?0-g|0:g;m=K?m|8192:m;K=h;o=s;g=i[s>>0]|0}while(0);e:do if(g<<24>>24==46){g=o+1|0;h=i[g>>0]|0;if(h<<24>>24!=42){o=(h<<24>>24)+-48|0;if(o>>>0<10)h=0;else{x=0;break}while(1){h=(h*10|0)+o|0;g=g+1|0;o=(i[g>>0]|0)+-48|0;if(o>>>0>=10){x=h;break e}}}g=o+2|0;h=(i[g>>0]|0)+-48|0;if(h>>>0<10?(i[o+3>>0]|0)==36:0){k[e+(h<<2)>>2]=10;x=k[d+((i[g>>0]|0)+-48<<3)>>2]|0;g=o+4|0;break}if(K|0){f=-1;break a}if(P){J=(k[c>>2]|0)+(4-1)&~(4-1);x=k[J>>2]|0;k[c>>2]=J+4}else x=0}else{x=-1;g=o}while(0);t=0;while(1){h=(i[g>>0]|0)+-65|0;if(h>>>0>57){f=-1;break a}J=g+1|0;h=i[11149+(t*58|0)+h>>0]|0;o=h&255;if((o+-1|0)>>>0<8){t=o;g=J}else break}if(!(h<<24>>24)){f=-1;break}s=(w|0)>-1;do if(h<<24>>24==19)if(s){f=-1;break a}else L=51;else{if(s){k[e+(w<<2)>>2]=o;H=d+(w<<3)|0;I=k[H+4>>2]|0;L=ia;k[L>>2]=k[H>>2];k[L+4>>2]=I;L=51;break}if(!P){f=0;break a}de(ia,o,c)}while(0);if((L|0)==51?(L=0,!P):0){g=0;q=K;b=J;continue}E=i[g>>0]|0;E=(t|0)!=0&(E&15|0)==3?E&-33:E;s=m&-65537;I=(m&8192|0)==0?m:s;f:do switch(E|0){case 110:switch((t&255)<<24>>24){case 0:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 1:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 2:{g=k[ia>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;q=K;b=J;continue a}case 3:{j[k[ia>>2]>>1]=f;g=0;q=K;b=J;continue a}case 4:{i[k[ia>>2]>>0]=f;g=0;q=K;b=J;continue a}case 6:{k[k[ia>>2]>>2]=f;g=0;q=K;b=J;continue a}case 7:{g=k[ia>>2]|0;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;g=0;q=K;b=J;continue a}default:{g=0;q=K;b=J;continue a}}case 112:{s=120;t=x>>>0>8?x:8;g=I|8;L=63;break}case 88:case 120:{s=E;t=x;g=I;L=63;break}case 111:{h=ia;g=k[h>>2]|0;h=k[h+4>>2]|0;if((g|0)==0&(h|0)==0)b=Q;else{b=Q;do{b=b+-1|0;i[b>>0]=g&7|48;g=Aj(g|0,h|0,3)|0;h=M}while(!((g|0)==0&(h|0)==0))}if(!(I&8)){h=0;m=11629;o=x;g=I;L=76}else{o=R-b|0;h=0;m=11629;o=(x|0)>(o|0)?x:o+1|0;g=I;L=76}break}case 105:case 100:{b=ia;g=k[b>>2]|0;b=k[b+4>>2]|0;if((b|0)<0){g=Ej(0,0,g|0,b|0)|0;b=M;h=ia;k[h>>2]=g;k[h+4>>2]=b;h=1;m=11629;L=75;break f}if(!(I&2048)){m=I&1;h=m;m=(m|0)==0?11629:11631;L=75}else{h=1;m=11630;L=75}break}case 117:{b=ia;h=0;m=11629;g=k[b>>2]|0;b=k[b+4>>2]|0;L=75;break}case 99:{i[S>>0]=k[ia>>2];b=S;w=0;t=11629;h=Q;g=1;break}case 109:{g=Xj()|0;g=Bh(k[g>>2]|0)|0;L=81;break}case 115:{g=k[ia>>2]|0;g=g|0?g:11639;L=81;break}case 67:{k[N>>2]=k[ia>>2];k[T>>2]=0;k[ia>>2]=N;s=-1;h=N;L=85;break}case 83:{g=k[ia>>2]|0;if(!x){Yg(a,32,q,0,I);g=0;L=96}else{s=x;h=g;L=85}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{n=+p[ia>>3];k[ga>>2]=0;p[u>>3]=n;if((k[u+4>>2]|0)>=0){g=I&1;if(!(I&2048)){G=g;H=(g|0)==0?11647:11652}else{G=1;H=11649}}else{n=-n;G=1;H=11646}p[u>>3]=n;F=k[u+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+rl(n,ga)*2.0;b=v!=0.0;if(b)k[ga>>2]=(k[ga>>2]|0)+-1;z=E|32;if((z|0)==97){o=E&32;w=(o|0)==0?H:H+9|0;t=G|2;g=12-x|0;do if(!(x>>>0>11|(g|0)==0)){n=8.0;do{g=g+-1|0;n=n*16.0}while((g|0)!=0);if((i[w>>0]|0)==45){n=-(n+(-v-n));break}else{n=v+n-n;break}}else n=v;while(0);b=k[ga>>2]|0;g=(b|0)<0?0-b|0:b;g=mh(g,((g|0)<0)<<31>>31,W)|0;if((g|0)==(W|0)){i[X>>0]=48;g=X}i[g+-1>>0]=(b>>31&2)+43;s=g+-2|0;i[s>>0]=E+15;m=(x|0)<1;h=(I&8|0)==0;g=ha;do{H=~~n;b=g+1|0;i[g>>0]=l[11613+H>>0]|o;n=(n-+(H|0))*16.0;do if((b-U|0)==1){if(h&(m&n==0.0)){g=b;break}i[b>>0]=46;g=g+2|0}else g=b;while(0)}while(n!=0.0);m=s;h=(x|0)!=0&(_+g|0)<(x|0)?aa+x-m|0:Z-m+g|0;o=h+t|0;Yg(a,32,q,o,I);if(!(k[a>>2]&32))pg(w,t,a)|0;Yg(a,48,q,o,I^65536);b=g-U|0;if(!(k[a>>2]&32))pg(ha,b,a)|0;g=Y-m|0;Yg(a,48,h-(b+g)|0,0,0);if(!(k[a>>2]&32))pg(s,g,a)|0;Yg(a,32,q,o,I^8192);g=(o|0)<(q|0)?q:o;break}g=(x|0)<0?6:x;if(b){b=(k[ga>>2]|0)+-28|0;k[ga>>2]=b;n=v*268435456.0}else{n=v;b=k[ga>>2]|0}F=(b|0)<0?fa:ba;h=F;do{D=~~n>>>0;k[h>>2]=D;h=h+4|0;n=(n-+(D>>>0))*1.0e9}while(n!=0.0);if((b|0)>0){m=F;s=h;while(1){o=(b|0)>29?29:b;b=s+-4|0;do if(b>>>0>=m>>>0){h=0;do{C=vj(k[b>>2]|0,0,o|0)|0;C=Vj(C|0,M|0,h|0,0)|0;D=M;B=Ti(C|0,D|0,1e9,0)|0;k[b>>2]=B;h=Gk(C|0,D|0,1e9,0)|0;b=b+-4|0}while(b>>>0>=m>>>0);if(!h)break;m=m+-4|0;k[m>>2]=h}while(0);h=s;while(1){if(h>>>0<=m>>>0)break;b=h+-4|0;if(!(k[b>>2]|0))h=b;else break}b=(k[ga>>2]|0)-o|0;k[ga>>2]=b;if((b|0)>0)s=h;else break}}else m=F;if((b|0)<0){x=((g+25|0)/9|0)+1|0;y=(z|0)==102;do{w=0-b|0;w=(w|0)>9?9:w;do if(m>>>0>>0){o=(1<>>w;t=0;b=m;do{D=k[b>>2]|0;k[b>>2]=(D>>>w)+t;t=$(D&o,s)|0;b=b+4|0}while(b>>>0>>0);b=(k[m>>2]|0)==0?m+4|0:m;if(!t){m=b;b=h;break}k[h>>2]=t;m=b;b=h+4|0}else{m=(k[m>>2]|0)==0?m+4|0:m;b=h}while(0);h=y?F:m;h=(b-h>>2|0)>(x|0)?h+(x<<2)|0:b;b=(k[ga>>2]|0)+w|0;k[ga>>2]=b}while((b|0)<0)}D=F;do if(m>>>0>>0){b=(D-m>>2)*9|0;s=k[m>>2]|0;if(s>>>0<10)break;else o=10;do{o=o*10|0;b=b+1|0}while(s>>>0>=o>>>0)}else b=0;while(0);A=(z|0)==103;B=(g|0)!=0;o=g-((z|0)!=102?b:0)+((B&A)<<31>>31)|0;if((o|0)<(((h-D>>2)*9|0)+-9|0)){o=o+9216|0;t=F+4+(((o|0)/9|0)+-1024<<2)|0;o=((o|0)%9|0)+1|0;if((o|0)<9){s=10;do{s=s*10|0;o=o+1|0}while((o|0)!=9)}else s=10;x=k[t>>2]|0;y=(x>>>0)%(s>>>0)|0;o=(t+4|0)==(h|0);do if(o&(y|0)==0)o=t;else{v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(s|0)/2|0;if(y>>>0>>0)n=.5;else n=o&(y|0)==(w|0)?1.0:1.5;do if(G){if((i[H>>0]|0)!=45)break;n=-n;v=-v}while(0);o=x-y|0;k[t>>2]=o;if(!(v+n!=v)){o=t;break}C=o+s|0;k[t>>2]=C;if(C>>>0>999999999){o=t;while(1){b=o+-4|0;k[o>>2]=0;if(b>>>0>>0){m=m+-4|0;k[m>>2]=0}C=(k[b>>2]|0)+1|0;k[b>>2]=C;if(C>>>0>999999999)o=b;else{t=b;break}}}b=(D-m>>2)*9|0;s=k[m>>2]|0;if(s>>>0<10){o=t;break}else o=10;do{o=o*10|0;b=b+1|0}while(s>>>0>=o>>>0);o=t}while(0);C=o+4|0;h=h>>>0>C>>>0?C:h}y=0-b|0;C=h;while(1){if(C>>>0<=m>>>0){z=0;break}h=C+-4|0;if(!(k[h>>2]|0))C=h;else{z=1;break}}do if(A){g=(B&1^1)+g|0;if((g|0)>(b|0)&(b|0)>-5){t=E+-1|0;g=g+-1-b|0}else{t=E+-2|0;g=g+-1|0}h=I&8;if(h|0){w=h;break}do if(z){s=k[C+-4>>2]|0;if(!s){o=9;break}if(!((s>>>0)%10|0)){o=0;h=10}else{o=0;break}do{h=h*10|0;o=o+1|0}while(!((s>>>0)%(h>>>0)|0|0))}else o=9;while(0);h=((C-D>>2)*9|0)+-9|0;if((t|32|0)==102){w=h-o|0;w=(w|0)<0?0:w;g=(g|0)<(w|0)?g:w;w=0;break}else{w=h+b-o|0;w=(w|0)<0?0:w;g=(g|0)<(w|0)?g:w;w=0;break}}else{t=E;w=I&8}while(0);x=g|w;o=(x|0)!=0&1;s=(t|32|0)==102;if(s){y=0;b=(b|0)>0?b:0}else{h=(b|0)<0?y:b;h=mh(h,((h|0)<0)<<31>>31,W)|0;if((Y-h|0)<2)do{h=h+-1|0;i[h>>0]=48}while((Y-h|0)<2);i[h+-1>>0]=(b>>31&2)+43;b=h+-2|0;i[b>>0]=t;y=b;b=Y-b|0}A=G+1+g+o+b|0;Yg(a,32,q,A,I);if(!(k[a>>2]&32))pg(H,G,a)|0;Yg(a,48,q,A,I^65536);do if(s){m=m>>>0>F>>>0?F:m;h=m;do{b=mh(k[h>>2]|0,0,ca)|0;do if((h|0)==(m|0)){if((b|0)!=(ca|0))break;i[ea>>0]=48;b=ea}else{if(b>>>0<=ha>>>0)break;Jh(ha|0,48,b-U|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}while(0);if(!(k[a>>2]&32))pg(b,da-b|0,a)|0;h=h+4|0}while(h>>>0<=F>>>0);do if(x|0){if(k[a>>2]&32|0)break;pg(11681,1,a)|0}while(0);if((g|0)>0&h>>>0>>0)while(1){b=mh(k[h>>2]|0,0,ca)|0;if(b>>>0>ha>>>0){Jh(ha|0,48,b-U|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}if(!(k[a>>2]&32))pg(b,(g|0)>9?9:g,a)|0;h=h+4|0;b=g+-9|0;if(!((g|0)>9&h>>>0>>0)){g=b;break}else g=b}Yg(a,48,g+9|0,9,0)}else{t=z?C:m+4|0;if((g|0)>-1){s=(w|0)==0;o=m;do{b=mh(k[o>>2]|0,0,ca)|0;if((b|0)==(ca|0)){i[ea>>0]=48;b=ea}do if((o|0)==(m|0)){h=b+1|0;if(!(k[a>>2]&32))pg(b,1,a)|0;if(s&(g|0)<1){b=h;break}if(k[a>>2]&32|0){b=h;break}pg(11681,1,a)|0;b=h}else{if(b>>>0<=ha>>>0)break;Jh(ha|0,48,b+V|0)|0;do b=b+-1|0;while(b>>>0>ha>>>0)}while(0);h=da-b|0;if(!(k[a>>2]&32))pg(b,(g|0)>(h|0)?h:g,a)|0;g=g-h|0;o=o+4|0}while(o>>>0>>0&(g|0)>-1)}Yg(a,48,g+18|0,18,0);if(k[a>>2]&32|0)break;pg(y,Y-y|0,a)|0}while(0);Yg(a,32,q,A,I^8192);g=(A|0)<(q|0)?q:A}else{o=(E&32|0)!=0;m=n!=n|0.0!=0.0;b=m?0:G;h=b+3|0;Yg(a,32,q,h,s);g=k[a>>2]|0;if(!(g&32)){pg(H,b,a)|0;g=k[a>>2]|0}if(!(g&32))pg(m?(o?11673:11677):o?11665:11669,3,a)|0;Yg(a,32,q,h,I^8192);g=(h|0)<(q|0)?q:h}while(0);q=K;b=J;continue a}default:{w=0;t=11629;h=Q;g=x;s=I}}while(0);g:do if((L|0)==63){m=ia;h=k[m>>2]|0;m=k[m+4>>2]|0;o=s&32;if((h|0)==0&(m|0)==0){b=Q;h=0;m=0}else{b=Q;do{b=b+-1|0;i[b>>0]=l[11613+(h&15)>>0]|o;h=Aj(h|0,m|0,4)|0;m=M}while(!((h|0)==0&(m|0)==0));m=ia;h=k[m>>2]|0;m=k[m+4>>2]|0}m=(g&8|0)==0|(h|0)==0&(m|0)==0;h=m?0:2;m=m?11629:11629+(s>>4)|0;o=t;L=76}else if((L|0)==75){b=mh(g,b,Q)|0;o=x;g=I;L=76}else if((L|0)==81){L=0;I=Yf(g,0,x)|0;H=(I|0)==0;b=g;w=0;t=11629;h=H?g+x|0:I;g=H?x:I-g|0}else if((L|0)==85){L=0;o=h;g=0;b=0;while(1){m=k[o>>2]|0;if(!m)break;b=yk(O,m)|0;if((b|0)<0|b>>>0>(s-g|0)>>>0)break;g=b+g|0;if(s>>>0>g>>>0)o=o+4|0;else break}if((b|0)<0){f=-1;break a}Yg(a,32,q,g,I);if(!g){g=0;L=96}else{m=0;while(1){b=k[h>>2]|0;if(!b){L=96;break g}b=yk(O,b)|0;m=b+m|0;if((m|0)>(g|0)){L=96;break g}if(!(k[a>>2]&32))pg(O,b,a)|0;if(m>>>0>=g>>>0){L=96;break}else h=h+4|0}}}while(0);if((L|0)==96){L=0;Yg(a,32,q,g,I^8192);g=(q|0)>(g|0)?q:g;q=K;b=J;continue}if((L|0)==76){L=0;s=(o|0)>-1?g&-65537:g;g=ia;g=(k[g>>2]|0)!=0|(k[g+4>>2]|0)!=0;if((o|0)!=0|g){g=(g&1^1)+(R-b)|0;w=h;t=m;h=Q;g=(o|0)>(g|0)?o:g}else{b=Q;w=h;t=m;h=Q;g=0}}o=h-b|0;h=(g|0)<(o|0)?o:g;m=h+w|0;g=(q|0)<(m|0)?m:q;Yg(a,32,g,m,s);if(!(k[a>>2]&32))pg(t,w,a)|0;Yg(a,48,g,m,s^65536);Yg(a,48,h,o,0);if(!(k[a>>2]&32))pg(b,o,a)|0;Yg(a,32,g,m,s^8192);q=K;b=J}h:do if((L|0)==243)if(!a)if(!q)f=0;else{f=1;while(1){g=k[e+(f<<2)>>2]|0;if(!g)break;de(d+(f<<3)|0,g,c);f=f+1|0;if((f|0)>=10){f=1;break h}}while(1){if(k[e+(f<<2)>>2]|0){f=-1;break h}f=f+1|0;if((f|0)>=10){f=1;break}}}while(0);r=ja;return f|0}function bb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+16|0;b=j;h=j+8|0;c=j+4|0;k[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;k[c>>2]=a-e;d=(ci(5020,5212,c,b)|0)-5020>>2;a=0;f=d;e=(k[5020+(d<<2)>>2]|0)+e|0;a:while(1){b=5;while(1){if(b>>>0>=47){d=211;i=8;break}c=k[4828+(b<<2)>>2]|0;d=(e>>>0)/(c>>>0)|0;if(d>>>0>>0){i=107;break a}if((e|0)==($(d,c)|0))break;else b=b+1|0}b:do if((i|0)==8){c:while(1){i=0;b=(e>>>0)/(d>>>0)|0;do if(b>>>0>=d>>>0)if((e|0)!=($(b,d)|0)){b=d+10|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+12|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+16|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+18|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+22|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)!=($(c,b)|0)){b=d+28|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>=b>>>0)if((e|0)==($(c,b)|0))c=9;else{b=d+30|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+36|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+40|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+42|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+46|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+52|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+58|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+60|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+66|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+70|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+72|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+78|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+82|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+88|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+96|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+100|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+102|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+106|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+108|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+112|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+120|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+126|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+130|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+136|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+138|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+142|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+148|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+150|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+156|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+162|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+166|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+168|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+172|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+178|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+180|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+186|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+190|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+192|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+196|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+198|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}if((e|0)==($(c,b)|0)){c=9;break}b=d+208|0;c=(e>>>0)/(b>>>0)|0;if(c>>>0>>0){c=1;a=e;break}c=(e|0)==($(c,b)|0);b=c?b:d+210|0;c=c?9:0}else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else c=9;else{c=1;a=e}}else{b=d;c=9}else{b=d;c=1;a=e}while(0);switch(c&15){case 9:break b;case 0:{d=b;i=8;break}default:break c}}if(c){i=108;break a}}while(0);d=f+1|0;c=(d|0)==48;e=(c&1)+g|0;d=c?0:d;f=d;g=e;e=(k[5020+(d<<2)>>2]|0)+(e*210|0)|0}if((i|0)==107){k[h>>2]=e;a=e;break}else if((i|0)==108){k[h>>2]=e;break}}else{a=ci(4828,5020,h,b)|0;a=k[a>>2]|0}while(0);r=j;return a|0}function cb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ka=r;r=r+128|0;ja=ka;o=ka+88|0;ga=ka+72|0;U=ka+60|0;ha=ka+48|0;ia=ka+16|0;k[o>>2]=b;k[o+4>>2]=k[c>>2];S=c+4|0;k[o+8>>2]=k[S>>2];T=c+8|0;k[o+12>>2]=k[T>>2];Q=o+16|0;k[Q>>2]=k[d>>2];k[Q+4>>2]=k[d+4>>2];k[Q+8>>2]=k[d+8>>2];k[o+28>>2]=e;k[ga>>2]=0;Q=ga+4|0;k[Q>>2]=0;k[ga+8>>2]=0;R=ga+8|0;De(ga,o);b=k[Q>>2]|0;o=k[ga>>2]|0;e=b-o|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;e=o+(g<<5)|0;h=b+-32|0;j=k[h>>2]|0;if((k[e>>2]|0)>>>0>>0){l=k[b+-28>>2]|0;m=k[b+-24>>2]|0;n=k[b+-20>>2]|0;b=b+-16|0;k[ja>>2]=k[b>>2];k[ja+4>>2]=k[b+4>>2];k[ja+8>>2]=k[b+8>>2];k[ja+12>>2]=k[b+12>>2];b=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=o+(g<<5)|0;if((k[b>>2]|0)>>>0>=j>>>0)break;else{P=e;e=b;b=P}}k[e>>2]=j;k[e+4>>2]=l;k[e+8>>2]=m;k[e+12>>2]=n;g=e+16|0;k[g>>2]=k[ja>>2];k[g+4>>2]=k[ja+4>>2];k[g+8>>2]=k[ja+8>>2];k[g+12>>2]=k[ja+12>>2];g=7}else g=7}else e=o;a:while(1){if((g|0)==7){e=k[ga>>2]|0;b=k[Q>>2]|0}if((e|0)==(b|0)){g=62;break}P=k[e>>2]|0;b=k[e+4>>2]|0;o=k[e+8>>2]|0;n=k[e+12>>2]|0;t=e+16|0;k[U>>2]=k[t>>2];k[U+4>>2]=k[t+4>>2];k[U+8>>2]=k[t+8>>2];t=k[e+28>>2]|0;Zc(ga);k[c>>2]=b;k[S>>2]=o;k[T>>2]=n;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[ja>>2]=k[U>>2];k[ja+4>>2]=k[U+4>>2];k[ja+8>>2]=k[U+8>>2];t=Ig(a,P,c,ja,t)|0;n=d+(t<<2)|0;o=k[n>>2]|0;b=k[a>>2]|0;O=b-o|0;b:do if(!O){if((P|0)>0){n=k[f>>2]|0;g=f+4|0;j=n+84|0;l=n+68|0;m=n+40|0;n=n+64|0;h=k[g>>2]|0;b=0;o=h;while(1){if(!(i[j>>0]|0))e=k[(k[l>>2]|0)+(o<<2)>>2]|0;else e=o;N=m;O=k[N>>2]|0;N=_i(e|0,((e|0)<0)<<31>>31|0,O|0,k[N+4>>2]|0)|0;Ah((k[k[n>>2]>>2]|0)+N|0,c|0,O|0)|0;b=b+1|0;if((b|0)==(P|0))break;else o=o+1|0}k[g>>2]=P+h}}else{if(!P){g=16;break a}if(P>>>0<3){x=(t|0)==2?0:t+1|0;u=(x|0)==2?0:x+1|0;N=b-(k[d+(x<<2)>>2]|0)|0;D=b-(k[d+(u<<2)>>2]|0)|0;E=a+816|0;F=a+812|0;J=k[f>>2]|0;C=f+4|0;G=J+84|0;H=J+68|0;I=J+40|0;J=J+64|0;K=ja+(t<<2)|0;L=(O|0)<33;M=(O|0)>0;n=c+(t<<2)|0;o=(N|0)==0;l=ja+(x<<2)|0;p=c+(x<<2)|0;q=(D|0)==0;m=ja+(u<<2)|0;s=c+(u<<2)|0;t=ja+(u<<2)|0;u=(D|0)<33;v=(D|0)>0;w=32-D|0;x=ja+(x<<2)|0;y=(N|0)<33;z=(N|0)>0;A=32-N|0;B=32-O|0;j=0;while(1){k[ja>>2]=0;k[ja+4>>2]=0;k[ja+8>>2]=0;if(!L){g=21;break a}if(!M){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<>>B;k[K>>2]=b;g=g+O|0;k[E>>2]=g;if((g|0)==32){k[F>>2]=h+4;k[E>>2]=0}}else{la=O-b|0;k[E>>2]=la;g=h+4|0;k[F>>2]=g;h=32-la|0;b=(k[g>>2]|0)>>>h|e>>>(h-b|0);k[K>>2]=b}k[K>>2]=b|k[n>>2];do if(!o){if(!y){g=21;break a}if(!z){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<(b|0)){la=N-b|0;k[E>>2]=la;h=h+4|0;k[F>>2]=h;la=32-la|0;b=(k[h>>2]|0)>>>la|e>>>(la-b|0);k[x>>2]=b;e=x;break}b=e>>>A;k[x>>2]=b;la=g+N|0;k[E>>2]=la;if((la|0)==32){k[F>>2]=h+4;k[E>>2]=0;e=x}else e=x}else{e=l;b=k[l>>2]|0}while(0);k[e>>2]=b|k[p>>2];do if(!q){if(!u){g=21;break a}if(!v){g=23;break a}g=k[E>>2]|0;b=32-g|0;h=k[F>>2]|0;e=k[h>>2]<(b|0)){la=D-b|0;k[E>>2]=la;h=h+4|0;k[F>>2]=h;la=32-la|0;b=(k[h>>2]|0)>>>la|e>>>(la-b|0);k[t>>2]=b;e=t;break}b=e>>>w;k[t>>2]=b;la=g+D|0;k[E>>2]=la;if((la|0)==32){k[F>>2]=h+4;k[E>>2]=0;e=t}else e=t}else{e=m;b=k[m>>2]|0}while(0);k[e>>2]=b|k[s>>2];b=k[C>>2]|0;k[C>>2]=b+1;if(!(i[G>>0]|0))b=k[(k[H>>2]|0)+(b<<2)>>2]|0;h=I;la=k[h>>2]|0;h=_i(b|0,((b|0)<0)<<31>>31|0,la|0,k[h+4>>2]|0)|0;Ah((k[k[J>>2]>>2]|0)+h|0,ja|0,la|0)|0;j=j+1|0;if(j>>>0>=P>>>0)break b}}k[ha>>2]=k[c>>2];q=ha+4|0;k[q>>2]=k[S>>2];s=ha+8|0;k[s>>2]=k[T>>2];g=ha+(t<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>1)-b|0;h=P-l|0;if((l|0)==(h|0)){m=l;p=l}else{b=a+856|0;la=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;j=(k[g>>2]&1<<31-la|0)!=0;la=la+1|0;k[b>>2]=la;if((la|0)==32){k[e>>2]=g+4;k[b>>2]=0}m=j?l:h;p=j?h:l}k[n>>2]=o+1;if(m|0){k[ia>>2]=m;e=ia+4|0;k[e>>2]=k[c>>2];g=ia+8|0;k[g>>2]=k[S>>2];h=ia+12|0;k[h>>2]=k[T>>2];b=ia+16|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[ia+28>>2]=t;j=k[Q>>2]|0;if(j>>>0<(k[R>>2]|0)>>>0){k[j>>2]=m;k[j+4>>2]=k[e>>2];k[j+8>>2]=k[g>>2];k[j+12>>2]=k[h>>2];g=j+16|0;k[g>>2]=k[b>>2];k[g+4>>2]=k[b+4>>2];k[g+8>>2]=k[b+8>>2];k[g+12>>2]=k[b+12>>2];g=j+32|0;k[Q>>2]=g}else{De(ga,ia);g=k[Q>>2]|0}b=k[ga>>2]|0;e=g-b|0;if((e|0)>32?(V=((e>>5)+-2|0)/2|0,W=b,X=W+(V<<5)|0,Y=g,Z=Y+-32|0,_=k[Z>>2]|0,(k[X>>2]|0)>>>0<_>>>0):0){h=k[Y+-28>>2]|0;j=k[Y+-24>>2]|0;l=k[Y+-20>>2]|0;e=Y+-16|0;k[ja>>2]=k[e>>2];k[ja+4>>2]=k[e+4>>2];k[ja+8>>2]=k[e+8>>2];k[ja+12>>2]=k[e+12>>2];e=V;b=Z;g=X;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=W+(e<<5)|0;if((k[b>>2]|0)>>>0>=_>>>0)break;else{la=g;g=b;b=la}}k[g>>2]=_;k[g+4>>2]=h;k[g+8>>2]=j;k[g+12>>2]=l;la=g+16|0;k[la>>2]=k[ja>>2];k[la+4>>2]=k[ja+4>>2];k[la+8>>2]=k[ja+8>>2];k[la+12>>2]=k[ja+12>>2]}}if(p|0){k[ia>>2]=p;h=ia+4|0;k[h>>2]=k[ha>>2];j=ia+8|0;k[j>>2]=k[q>>2];g=ia+12|0;k[g>>2]=k[s>>2];e=ia+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[ia+28>>2]=t;b=k[Q>>2]|0;if(b>>>0<(k[R>>2]|0)>>>0){k[b>>2]=p;k[b+4>>2]=k[h>>2];k[b+8>>2]=k[j>>2];k[b+12>>2]=k[g>>2];g=b+16|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];g=b+32|0;k[Q>>2]=g}else{De(ga,ia);g=k[Q>>2]|0}b=k[ga>>2]|0;e=g-b|0;if((e|0)>32?($=((e>>5)+-2|0)/2|0,aa=b,ba=aa+($<<5)|0,da=g,ea=da+-32|0,fa=k[ea>>2]|0,(k[ba>>2]|0)>>>0>>0):0){h=k[da+-28>>2]|0;j=k[da+-24>>2]|0;l=k[da+-20>>2]|0;e=da+-16|0;k[ja>>2]=k[e>>2];k[ja+4>>2]=k[e+4>>2];k[ja+8>>2]=k[e+8>>2];k[ja+12>>2]=k[e+12>>2];e=$;b=ea;g=ba;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=aa+(e<<5)|0;if((k[b>>2]|0)>>>0>=fa>>>0)break;else{la=g;g=b;b=la}}k[g>>2]=fa;k[g+4>>2]=h;k[g+8>>2]=j;k[g+12>>2]=l;la=g+16|0;k[la>>2]=k[ja>>2];k[la+4>>2]=k[ja+4>>2];k[la+8>>2]=k[ja+8>>2];k[la+12>>2]=k[ja+12>>2]}}}while(0);g=7}if((g|0)==16)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==62){if(!b){r=ka;return}Fl(b);r=ka;return}}function db(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=r;r=r+128|0;ia=ja;n=ja+88|0;fa=ja+72|0;T=ja+60|0;ga=ja+48|0;ha=ja+16|0;k[n>>2]=b;k[n+4>>2]=k[c>>2];R=c+4|0;k[n+8>>2]=k[R>>2];S=c+8|0;k[n+12>>2]=k[S>>2];P=n+16|0;k[P>>2]=k[d>>2];k[P+4>>2]=k[d+4>>2];k[P+8>>2]=k[d+8>>2];k[n+28>>2]=e;k[fa>>2]=0;P=fa+4|0;k[P>>2]=0;k[fa+8>>2]=0;Q=fa+8|0;De(fa,n);b=k[P>>2]|0;n=k[fa>>2]|0;e=b-n|0;if((e|0)>32){g=((e>>5)+-2|0)/2|0;e=n+(g<<5)|0;h=b+-32|0;i=k[h>>2]|0;if((k[e>>2]|0)>>>0>>0){j=k[b+-28>>2]|0;l=k[b+-24>>2]|0;m=k[b+-20>>2]|0;b=b+-16|0;k[ia>>2]=k[b>>2];k[ia+4>>2]=k[b+4>>2];k[ia+8>>2]=k[b+8>>2];k[ia+12>>2]=k[b+12>>2];b=h;while(1){k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];k[b+20>>2]=k[e+20>>2];k[b+24>>2]=k[e+24>>2];k[b+28>>2]=k[e+28>>2];if(!g)break;g=(g+-1|0)/2|0;b=n+(g<<5)|0;if((k[b>>2]|0)>>>0>=i>>>0)break;else{O=e;e=b;b=O}}k[e>>2]=i;k[e+4>>2]=j;k[e+8>>2]=l;k[e+12>>2]=m;g=e+16|0;k[g>>2]=k[ia>>2];k[g+4>>2]=k[ia+4>>2];k[g+8>>2]=k[ia+8>>2];k[g+12>>2]=k[ia+12>>2];g=7}else g=7}else e=n;a:while(1){if((g|0)==7){e=k[fa>>2]|0;b=k[P>>2]|0}if((e|0)==(b|0)){g=63;break}O=k[e>>2]|0;b=k[e+4>>2]|0;n=k[e+8>>2]|0;m=k[e+12>>2]|0;s=e+16|0;k[T>>2]=k[s>>2];k[T+4>>2]=k[s+4>>2];k[T+8>>2]=k[s+8>>2];s=k[e+28>>2]|0;Zc(fa);k[c>>2]=b;k[R>>2]=n;k[S>>2]=m;k[d>>2]=k[T>>2];k[d+4>>2]=k[T+4>>2];k[d+8>>2]=k[T+8>>2];k[ia>>2]=k[T>>2];k[ia+4>>2]=k[T+4>>2];k[ia+8>>2]=k[T+8>>2];s=Ig(a,O,c,ia,s)|0;m=d+(s<<2)|0;n=k[m>>2]|0;b=k[a>>2]|0;N=b-n|0;b:do if(!N){if((O|0)>0){e=k[f>>2]|0;g=e+4|0;h=e+8|0;b=0;do{i=k[g>>2]|0;if((i|0)==(k[h>>2]|0))Cf(e,c);else{k[i>>2]=k[c>>2];k[i+4>>2]=k[R>>2];k[i+8>>2]=k[S>>2];k[g>>2]=i+12}b=b+1|0}while((b|0)<(O|0))}}else{if(!O){g=17;break a}if(O>>>0<3){u=(s|0)==2?0:s+1|0;p=(u|0)==2?0:u+1|0;M=b-(k[d+(u<<2)>>2]|0)|0;C=b-(k[d+(p<<2)>>2]|0)|0;D=a+816|0;E=a+812|0;B=k[f>>2]|0;F=B+4|0;G=B+8|0;H=ia+4|0;I=ia+8|0;J=ia+(s<<2)|0;K=(N|0)<33;L=(N|0)>0;z=c+(s<<2)|0;A=(M|0)==0;j=ia+(u<<2)|0;m=c+(u<<2)|0;n=(C|0)==0;l=ia+(p<<2)|0;o=c+(p<<2)|0;p=ia+(p<<2)|0;q=(C|0)<33;s=(C|0)>0;t=32-C|0;u=ia+(u<<2)|0;v=(M|0)<33;w=(M|0)>0;x=32-M|0;y=32-N|0;i=0;while(1){k[ia>>2]=0;k[ia+4>>2]=0;k[ia+8>>2]=0;if(!K){g=23;break a}if(!L){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<>>y;k[J>>2]=b;g=g+N|0;k[D>>2]=g;if((g|0)==32){k[E>>2]=h+4;k[D>>2]=0}}else{ka=N-b|0;k[D>>2]=ka;g=h+4|0;k[E>>2]=g;h=32-ka|0;b=(k[g>>2]|0)>>>h|e>>>(h-b|0);k[J>>2]=b}k[J>>2]=b|k[z>>2];do if(!A){if(!v){g=23;break a}if(!w){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<(b|0)){ka=M-b|0;k[D>>2]=ka;h=h+4|0;k[E>>2]=h;ka=32-ka|0;b=(k[h>>2]|0)>>>ka|e>>>(ka-b|0);k[u>>2]=b;e=u;break}b=e>>>x;k[u>>2]=b;ka=g+M|0;k[D>>2]=ka;if((ka|0)==32){k[E>>2]=h+4;k[D>>2]=0;e=u}else e=u}else{e=j;b=k[j>>2]|0}while(0);k[e>>2]=b|k[m>>2];do if(!n){if(!q){g=23;break a}if(!s){g=25;break a}g=k[D>>2]|0;b=32-g|0;h=k[E>>2]|0;e=k[h>>2]<(b|0)){ka=C-b|0;k[D>>2]=ka;h=h+4|0;k[E>>2]=h;ka=32-ka|0;b=(k[h>>2]|0)>>>ka|e>>>(ka-b|0);k[p>>2]=b;e=p;break}b=e>>>t;k[p>>2]=b;ka=g+C|0;k[D>>2]=ka;if((ka|0)==32){k[E>>2]=h+4;k[D>>2]=0;e=p}else e=p}else{e=l;b=k[l>>2]|0}while(0);k[e>>2]=b|k[o>>2];b=k[F>>2]|0;if((b|0)==(k[G>>2]|0))Cf(B,ia);else{k[b>>2]=k[ia>>2];k[b+4>>2]=k[H>>2];k[b+8>>2]=k[I>>2];k[F>>2]=b+12}i=i+1|0;if(i>>>0>=O>>>0)break b}}k[ga>>2]=k[c>>2];p=ga+4|0;k[p>>2]=k[R>>2];q=ga+8|0;k[q>>2]=k[S>>2];g=ga+(s<<2)|0;k[g>>2]=(k[g>>2]|0)+(1<>>1)-b|0;h=O-j|0;if((j|0)==(h|0)){l=j;o=j}else{b=a+856|0;ka=k[b>>2]|0;e=a+852|0;g=k[e>>2]|0;i=(k[g>>2]&1<<31-ka|0)!=0;ka=ka+1|0;k[b>>2]=ka;if((ka|0)==32){k[e>>2]=g+4;k[b>>2]=0}l=i?j:h;o=i?h:j}k[m>>2]=n+1;if(l|0){k[ha>>2]=l;e=ha+4|0;k[e>>2]=k[c>>2];g=ha+8|0;k[g>>2]=k[R>>2];h=ha+12|0;k[h>>2]=k[S>>2];b=ha+16|0;k[b>>2]=k[d>>2];k[b+4>>2]=k[d+4>>2];k[b+8>>2]=k[d+8>>2];k[ha+28>>2]=s;i=k[P>>2]|0;if(i>>>0<(k[Q>>2]|0)>>>0){k[i>>2]=l;k[i+4>>2]=k[e>>2];k[i+8>>2]=k[g>>2];k[i+12>>2]=k[h>>2];g=i+16|0;k[g>>2]=k[b>>2];k[g+4>>2]=k[b+4>>2];k[g+8>>2]=k[b+8>>2];k[g+12>>2]=k[b+12>>2];g=i+32|0;k[P>>2]=g}else{De(fa,ha);g=k[P>>2]|0}b=k[fa>>2]|0;e=g-b|0;if((e|0)>32?(U=((e>>5)+-2|0)/2|0,V=b,W=V+(U<<5)|0,X=g,Y=X+-32|0,Z=k[Y>>2]|0,(k[W>>2]|0)>>>0>>0):0){h=k[X+-28>>2]|0;i=k[X+-24>>2]|0;j=k[X+-20>>2]|0;e=X+-16|0;k[ia>>2]=k[e>>2];k[ia+4>>2]=k[e+4>>2];k[ia+8>>2]=k[e+8>>2];k[ia+12>>2]=k[e+12>>2];e=U;b=Y;g=W;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=V+(e<<5)|0;if((k[b>>2]|0)>>>0>=Z>>>0)break;else{ka=g;g=b;b=ka}}k[g>>2]=Z;k[g+4>>2]=h;k[g+8>>2]=i;k[g+12>>2]=j;ka=g+16|0;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[ka+12>>2]=k[ia+12>>2]}}if(o|0){k[ha>>2]=o;h=ha+4|0;k[h>>2]=k[ga>>2];i=ha+8|0;k[i>>2]=k[p>>2];g=ha+12|0;k[g>>2]=k[q>>2];e=ha+16|0;k[e>>2]=k[d>>2];k[e+4>>2]=k[d+4>>2];k[e+8>>2]=k[d+8>>2];k[ha+28>>2]=s;b=k[P>>2]|0;if(b>>>0<(k[Q>>2]|0)>>>0){k[b>>2]=o;k[b+4>>2]=k[h>>2];k[b+8>>2]=k[i>>2];k[b+12>>2]=k[g>>2];g=b+16|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];g=b+32|0;k[P>>2]=g}else{De(fa,ha);g=k[P>>2]|0}b=k[fa>>2]|0;e=g-b|0;if((e|0)>32?(_=((e>>5)+-2|0)/2|0,$=b,aa=$+(_<<5)|0,ba=g,da=ba+-32|0,ea=k[da>>2]|0,(k[aa>>2]|0)>>>0>>0):0){h=k[ba+-28>>2]|0;i=k[ba+-24>>2]|0;j=k[ba+-20>>2]|0;e=ba+-16|0;k[ia>>2]=k[e>>2];k[ia+4>>2]=k[e+4>>2];k[ia+8>>2]=k[e+8>>2];k[ia+12>>2]=k[e+12>>2];e=_;b=da;g=aa;while(1){k[b>>2]=k[g>>2];k[b+4>>2]=k[g+4>>2];k[b+8>>2]=k[g+8>>2];k[b+12>>2]=k[g+12>>2];k[b+16>>2]=k[g+16>>2];k[b+20>>2]=k[g+20>>2];k[b+24>>2]=k[g+24>>2];k[b+28>>2]=k[g+28>>2];if(!e)break;e=(e+-1|0)/2|0;b=$+(e<<5)|0;if((k[b>>2]|0)>>>0>=ea>>>0)break;else{ka=g;g=b;b=ka}}k[g>>2]=ea;k[g+4>>2]=h;k[g+8>>2]=i;k[g+12>>2]=j;ka=g+16|0;k[ka>>2]=k[ia>>2];k[ka+4>>2]=k[ia+4>>2];k[ka+8>>2]=k[ia+8>>2];k[ka+12>>2]=k[ia+12>>2]}}}while(0);g=7}if((g|0)==17)Ja(9959,9997,231,10067);else if((g|0)==23)Ja(10080,10104,111,10131);else if((g|0)==25)Ja(10160,10104,112,10131);else if((g|0)==63){if(!b){r=ja;return}Fl(b);r=ja;return}}function eb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Fl(y)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Vj(f|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=Vj(f|0,g|0,8,0)|0;b=M;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=Vj(f|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=bj(60)|0;bk(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Dg(c);Fl(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}ji(b,p);c=a+176|0;d=k[c>>2]|0;e=a+180|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Tg(c,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Tg(b,p);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;u=Vj(d|0,e|0,1,0)|0;v=c;k[v>>2]=u;k[v+4>>2]=M;if(h<<24>>24<0){A=0;r=B;return A|0}u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}Pg(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Jf(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Vj(c|0,d|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){A=0;r=B;return A|0}b=Vj(c|0,d|0,8,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}m=f+m|0;m=l[m>>0]|l[m+1>>0]<<8|l[m+2>>0]<<16|l[m+3>>0]<<24;g=j;k[g>>2]=b;k[g+4>>2]=c;g=a+136|0;b=(k[q>>2]|0)+m|0;i[w>>0]=1;qf(g,b,w);b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;p=k[m>>2]|0;m=k[m+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Vj(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((m|0)<(f|0)|(m|0)==(f|0)&p>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;p=c;k[p>>2]=e;k[p+4>>2]=f}Xi(A);m=k[(k[s>>2]|0)+20>>2]|0;h=m+16|0;f=k[h>>2]|0;p=(k[m>>2]|0)+f+b|0;m=m+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;b=Vj(f|0,k[h+4>>2]|0,b|0,0)|0;b=Ej(j|0,m|0,b|0,M|0)|0;ej(A,p,b);b=mc(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;m=(Ta[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;m=k[m>>2]|0;j=k[m>>2]|0;m=k[m+16>>2]|0;p=(Ta[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;h=p+8|0;p=p+16|0;p=Ej(k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;ej(c,j+m|0,p);p=Ta[k[(k[a>>2]|0)+36>>2]&127](a)|0;k[a+332>>2]=p;k[a+336>>2]=k[q>>2];k[a+324>>2]=o;Xi(z);a:do if(If(c,z)|0){if((Za(a,n)|0)==-1){b=0;break}o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=Ej(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;ej(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=Vj(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=M;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];b=b+3|0;if(!(fe(a,w)|0)){b=0;break a}s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);ti(c);ti(a+280|0);e=k[y>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;q=f;if((s-f|0)>0){m=k[g>>2]|0;n=s-f>>2;o=e+12|0;j=0;do{do if(k[m+(j>>>5<<2)>>2]&1<<(j&31)|0){p=q+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[o>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(n|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0)){e=s;c=d}else{f=0;do{tg(b+(f*116|0)+4|0,e)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Je(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));_h(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;c=k[u>>2]|0;b=c;e=k[y>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){kg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){kg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=gb(a)|0}else b=0;while(0);Il(z+24|0)}Il(A+24|0);A=b;r=B;return A|0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;w=B+88|0;A=B+40|0;z=B;t=B+84|0;x=B+80|0;o=a+148|0;k[o>>2]=0;e=a+164|0;if(k[e>>2]|0){c=a+160|0;b=k[c>>2]|0;if(b|0)do{y=b;b=k[b>>2]|0;Fl(y)}while((b|0)!=0);k[c>>2]=0;c=k[a+156>>2]|0;if(c|0){d=a+152|0;b=0;do{k[(k[d>>2]|0)+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(c|0))}k[e>>2]=0}s=a+4|0;b=k[(k[s>>2]|0)+20>>2]|0;m=b+8|0;j=k[m>>2]|0;m=k[m+4>>2]|0;n=b+16|0;g=n;f=k[g>>2]|0;g=k[g+4>>2]|0;d=Vj(f|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}h=k[b>>2]|0;e=h+f|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=n;k[b>>2]=d;k[b+4>>2]=c;k[o>>2]=e;e=Vj(f|0,g|0,8,0)|0;b=M;if((m|0)<(b|0)|(m|0)==(b|0)&j>>>0>>0){A=0;r=B;return A|0}c=h+d|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;q=n;k[q>>2]=e;k[q+4>>2]=b;q=a+172|0;k[q>>2]=c;b=Vj(f|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&j>>>0>>0){A=0;r=B;return A|0}p=h+e|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;d=n;k[d>>2]=b;k[d+4>>2]=c;b=k[a+24>>2]|0;c=a+28|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);y=a+8|0;b=bj(60)|0;bk(b);c=k[y>>2]|0;k[y>>2]=b;if(c){Dg(c);Fl(c);b=k[y>>2]|0;if(!b){A=0;r=B;return A|0}}ji(b,p);c=a+176|0;d=k[c>>2]|0;e=a+180|0;b=k[e>>2]|0;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-d|0)>>>2)<<2);Tg(c,p);b=a+188|0;c=k[b>>2]|0;d=a+192|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Tg(b,p);b=k[a+36>>2]|0;c=a+40|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~(((d+-12-b|0)>>>0)/12|0)*12|0);b=k[a+48>>2]|0;c=a+52|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+68>>2]=0;b=k[a+76>>2]|0;c=a+80|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);k[a+60>>2]=0;k[a+100>>2]=-1;k[a+108>>2]=-1;k[a+104>>2]=-1;b=k[(k[s>>2]|0)+20>>2]|0;v=b+8|0;u=k[v+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((u|0)>(e|0)|((u|0)==(e|0)?(k[v>>2]|0)>>>0>d>>>0:0))){A=0;r=B;return A|0}h=i[(k[b>>2]|0)+d>>0]|0;u=Vj(d|0,e|0,1,0)|0;v=c;k[v>>2]=u;k[v+4>>2]=M;if(h<<24>>24<0){A=0;r=B;return A|0}u=a+228|0;g=k[u>>2]|0;v=a+232|0;b=k[v>>2]|0;if((b|0)!=(g|0))do{k[v>>2]=b+-116;c=k[b+-12>>2]|0;d=c;if(c|0){e=b+-8|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}Pg(b+-112|0);b=k[v>>2]|0}while((b|0)!=(g|0));o=h<<24>>24;Jf(u,o);b=k[(k[s>>2]|0)+20>>2]|0;h=b+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=k[d+4>>2]|0;m=Vj(c|0,d|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){A=0;r=B;return A|0}f=k[b>>2]|0;n=f+c|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;b=j;k[b>>2]=m;k[b+4>>2]=e;if(p>>>0>>0){A=0;r=B;return A|0}b=Vj(c|0,d|0,8,0)|0;c=M;if((h|0)<(c|0)|(h|0)==(c|0)&g>>>0>>0){A=0;r=B;return A|0}p=f+m|0;p=l[p>>0]|l[p+1>>0]<<8|l[p+2>>0]<<16|l[p+3>>0]<<24;g=j;k[g>>2]=b;k[g+4>>2]=c;g=a+136|0;b=(k[q>>2]|0)+p|0;i[w>>0]=1;qf(g,b,w);b=k[(k[s>>2]|0)+20>>2]|0;p=b+8|0;q=k[p>>2]|0;p=k[p+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Vj(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((p|0)<(f|0)|(p|0)==(f|0)&q>>>0>>0)b=0;else{b=(k[b>>2]|0)+d|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;q=c;k[q>>2]=e;k[q+4>>2]=f}Xi(A);p=k[(k[s>>2]|0)+20>>2]|0;j=p+16|0;h=k[j>>2]|0;q=(k[p>>2]|0)+h+b|0;p=p+8|0;m=k[p>>2]|0;p=k[p+4>>2]|0;b=Vj(h|0,k[j+4>>2]|0,b|0,0)|0;b=Ej(m|0,p|0,b|0,M|0)|0;ej(A,q,b);b=mc(a,A)|0;if((b|0)==-1)b=0;else{c=a+240|0;k[a+328>>2]=a;p=(Ta[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;p=k[p>>2]|0;m=k[p>>2]|0;p=k[p+16>>2]|0;q=(Ta[k[(k[a>>2]|0)+32>>2]&127](a)|0)+20|0;q=k[q>>2]|0;j=q+8|0;q=q+16|0;q=Ej(k[j>>2]|0,k[j+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;ej(c,m+p|0,q);k[a+324>>2]=o;Xi(z);a:do if(md(c,z)|0){if((_a(a,n)|0)==-1){b=0;break}o=k[(k[s>>2]|0)+20>>2]|0;q=z+16|0;n=k[q>>2]|0;p=(k[z>>2]|0)+n|0;m=z+8|0;q=Ej(k[m>>2]|0,k[m+4>>2]|0,n|0,k[q+4>>2]|0)|0;ej(o,p,q);s=(k[(k[s>>2]|0)+20>>2]|0)+16|0;q=s;q=Vj(k[q>>2]|0,k[q+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=M;do if((k[v>>2]|0)!=(k[u>>2]|0)){s=k[y>>2]|0;if(((k[s+4>>2]|0)-(k[s>>2]|0)|0)<=0)break;b=0;do{k[t>>2]=b;k[w>>2]=k[t>>2];b=b+3|0;if(!(fe(a,w)|0)){b=0;break a}s=k[y>>2]|0}while((b|0)<((((k[s+4>>2]|0)-(k[s>>2]|0)|0)/12|0)*3|0))}while(0);ti(c);ti(a+280|0);e=k[y>>2]|0;s=k[e+28>>2]|0;f=k[e+24>>2]|0;q=f;if((s-f|0)>0){m=k[g>>2]|0;n=s-f>>2;o=e+12|0;j=0;do{do if(k[m+(j>>>5<<2)>>2]&1<<(j&31)|0){p=q+(j<<2)|0;h=k[p>>2]|0;if((h|0)<0)break;b=h+1|0;b=((b|0)%3|0|0)==0?h+-2|0:b;if((b|0)>=0){g=k[o>>2]|0;c=k[g+(b<<2)>>2]|0;b=c+1|0;b:do if((c|0)<0)b=h;else{c=((b|0)%3|0|0)==0?c+-2|0:b;if((c|0)>-1&(c|0)!=(h|0))b=c;else{b=h;break}while(1){c=b+1|0;c=((c|0)%3|0|0)==0?b+-2|0:c;if((c|0)<0)break b;c=k[g+(c<<2)>>2]|0;d=c+1|0;if((c|0)<0)break b;c=((d|0)%3|0|0)==0?c+-2|0:d;if((c|0)>-1&(c|0)!=(h|0))b=c;else break}}while(0);if((c|0)==(h|0))break}else b=h;k[p>>2]=b}while(0);j=j+1|0}while((j|0)<(n|0))}d=k[v>>2]|0;t=k[u>>2]|0;b=t;if((d|0)==(t|0)){e=s;c=d}else{f=0;do{tg(b+(f*116|0)+4|0,e)|0;b=k[u>>2]|0;c=k[b+(f*116|0)+104>>2]|0;d=k[b+(f*116|0)+108>>2]|0;if((c|0)!=(d|0))do{k[x>>2]=k[c>>2];k[w>>2]=k[x>>2];Je(b+(f*116|0)+4|0,w);c=c+4|0;b=k[u>>2]|0}while((c|0)!=(d|0));_h(b+(f*116|0)+4|0,0,0);f=f+1|0;d=k[v>>2]|0;c=k[u>>2]|0;b=c;e=k[y>>2]|0}while(f>>>0<((d-c|0)/116|0)>>>0);f=k[e+24>>2]|0;e=k[e+28>>2]|0}e=e-f>>2;f=a+212|0;j=a+216|0;m=k[j>>2]|0;h=k[f>>2]|0;g=m-h>>2;do if(e>>>0>g>>>0){kg(f,e-g|0);b=k[u>>2]|0;d=k[v>>2]|0;c=b}else{if(e>>>0>=g>>>0)break;e=h+(e<<2)|0;if((m|0)==(e|0))break;k[j>>2]=m+(~((m+-4-e|0)>>>2)<<2)}while(0);if((d|0)!=(c|0)){m=0;while(1){f=(k[b+(m*116|0)+60>>2]|0)-(k[b+(m*116|0)+56>>2]|0)>>2;g=k[y>>2]|0;g=(k[g+28>>2]|0)-(k[g+24>>2]|0)>>2;f=(f|0)<(g|0)?g:f;g=b+(m*116|0)+88|0;h=b+(m*116|0)+92|0;j=k[h>>2]|0;e=k[g>>2]|0;b=j-e>>2;do if(f>>>0>b>>>0){kg(g,f-b|0);c=k[u>>2]|0;d=k[v>>2]|0}else{if(f>>>0>=b>>>0)break;b=e+(f<<2)|0;if((j|0)==(b|0))break;k[h>>2]=j+(~((j+-4-b|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((d-c|0)/116|0)>>>0)break;else b=c}}b=gb(a)|0}else b=0;while(0);Il(z+24|0)}Il(A+24|0);A=b;r=B;return A|0}function gb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+48|0;H=J+36|0;K=J+24|0;I=J+12|0;D=J;G=a+4|0;d=k[(k[G>>2]|0)+24>>2]|0;F=a+8|0;b=k[F>>2]|0;b=((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0;c=d+80|0;d=d+84|0;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;g=k[d>>2]|0;f=k[c>>2]|0;e=(g-f|0)/12|0;if(b>>>0<=e>>>0){if(b>>>0>>0?(h=f+(b*12|0)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~(((g+-12-h|0)>>>0)/12|0)*12|0)}else _e(c,b-e|0,H);z=a+228|0;A=a+232|0;if((k[A>>2]|0)==(k[z>>2]|0)){f=k[F>>2]|0;f=(k[f+28>>2]|0)-(k[f+24>>2]|0)>>2;k[H>>2]=-1;ph(K,f,H);f=k[G>>2]|0;b=k[f+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){o=I+4|0;p=I+8|0;c=0;n=0;m=b;b=f;g=f;j=e;while(1){k[I>>2]=0;k[I+4>>2]=0;k[I+8>>2]=0;a=n*3|0;if((n|0)<0)e=-1073741824;else e=k[(k[k[F>>2]>>2]|0)+(((a>>>0)/3|0)*12|0)+(((a>>>0)%3|0)<<2)>>2]|0;i=k[K>>2]|0;e=i+(e<<2)|0;f=k[e>>2]|0;if((f|0)==-1){k[e>>2]=c;h=c+1|0;l=c}else{h=c;l=f}k[I>>2]=l;c=a+1|0;if((a|0)<-1)c=-1073741824;else c=k[(k[k[F>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;e=i+(c<<2)|0;c=k[e>>2]|0;if((c|0)==-1){k[e>>2]=h;e=h+1|0;c=h}else e=h;k[o>>2]=c;c=a+2|0;if((a|0)<-2)c=-1073741824;else c=k[(k[k[F>>2]>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;c=i+(c<<2)|0;f=k[c>>2]|0;if((f|0)==-1){k[c>>2]=e;c=e+1|0}else{c=e;e=f}k[p>>2]=e;h=m+80|0;a=m+84|0;f=(j-d|0)/12|0;e=d;i=n;n=n+1|0;if((i|0)<(f|0)){h=j;f=m}else{b=j;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;if(n>>>0<=f>>>0)if(n>>>0>>0?(q=e+(n*12|0)|0,(b|0)!=(q|0)):0){b=b+(~(((b+-12-q|0)>>>0)/12|0)*12|0)|0;k[a>>2]=b;f=m}else{f=m;b=j}else{_e(h,n-f|0,H);g=k[G>>2]|0;d=k[g+24>>2]|0;e=k[h>>2]|0;f=d;b=k[d+84>>2]|0;d=k[d+80>>2]|0}h=b;b=g}k[e+(i*12|0)>>2]=l;k[e+(i*12|0)+4>>2]=k[o>>2];k[e+(i*12|0)+8>>2]=k[p>>2];if((n|0)>=((h-d|0)/12|0|0)){d=K;break}else{m=f;j=h}}}else{c=0;d=K;b=f}k[(k[b+4>>2]|0)+64>>2]=c;d=k[d>>2]|0;e=d;if(d|0){b=K+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Fl(d)}r=J;return 1}k[K>>2]=0;E=K+4|0;k[E>>2]=0;k[K+8>>2]=0;b=k[F>>2]|0;Nh(I,(((k[b+4>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0);b=k[F>>2]|0;a:do if(((k[b+28>>2]|0)-(k[b+24>>2]|0)|0)>0){q=a+136|0;s=K+8|0;p=0;b:while(1){f=k[(k[b+24>>2]|0)+(p<<2)>>2]|0;c:do if((f|0)>=0){d:do if((k[(k[q>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0)==0?(w=k[A>>2]|0,x=k[z>>2]|0,y=x,(w|0)!=(x|0)):0){h=(f>>>0)/3|0;a=(f>>>0)%3|0;g=((a|0)==0?2:-1)+f|0;i=(g|0)<0;j=(w-x|0)/116|0;l=b+12|0;m=b+12|0;e=0;e:while(1){o=k[(k[k[y+(e*116|0)+68>>2]>>2]|0)+(h*12|0)+(a<<2)>>2]|0;do if(1<<(o&31)&k[(k[y+(e*116|0)+16>>2]|0)+(o>>>5<<2)>>2]|0){n=k[y+(e*116|0)+32>>2]|0;o=k[n+(f<<2)>>2]|0;if(!i){c=k[(k[l>>2]|0)+(g<<2)>>2]|0;do if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);if((c|0)==(f|0))break;else d=c}else d=g;while(1){c=k[n+(d<<2)>>2]|0;if((d|0)<0)break e;if((c|0)!=(o|0)){f=d;break d}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=k[(k[m>>2]|0)+(c<<2)>>2]|0;if((c|0)>=0)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);if((c|0)==(f|0))break;else d=c}}while(0);e=e+1|0;if(e>>>0>=j>>>0)break d}while(1)if((c|0)==(o|0))c=o;else{f=d;break}}while(0);c=k[E>>2]|0;k[(k[I>>2]|0)+(f<<2)>>2]=c-(k[K>>2]|0)>>2;k[H>>2]=f;if(c>>>0<(k[s>>2]|0)>>>0){k[c>>2]=f;k[E>>2]=c+4}else{vg(K,H);b=k[F>>2]|0}if((((f|0)>=0?(u=(((f>>>0)%3|0|0)==0?2:-1)+f|0,(u|0)>=0):0)?(t=k[(k[b+12>>2]|0)+(u<<2)>>2]|0,(t|0)>=0):0)?(v=t+(((t>>>0)%3|0|0)==0?2:-1)|0,(v|0)>-1&(v|0)!=(f|0)):0){g=v;d=f;while(1){if((g|0)<0)break b;b=k[A>>2]|0;c=k[z>>2]|0;e=c;f:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){o=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[o+(g<<2)>>2]|0)!=(k[o+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0){B=77;break f}}b=k[E>>2]|0;k[(k[I>>2]|0)+(g<<2)>>2]=b-(k[K>>2]|0)>>2;k[H>>2]=g;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=g;k[E>>2]=b+4}else vg(K,H)}else B=77;while(0);if((B|0)==77){B=0;o=k[I>>2]|0;k[o+(g<<2)>>2]=k[o+(d<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break c;b=k[(k[(k[F>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break c;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(f|0)){d=g;g=b}else break}}}while(0);p=p+1|0;b=k[F>>2]|0;if((p|0)>=((k[b+28>>2]|0)-(k[b+24>>2]|0)>>2|0))break a}g:while(1){b=k[A>>2]|0;c=k[z>>2]|0;e=c;h:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){J=k[e+(b*116|0)+32>>2]|0;b=b+1|0;if((k[J+(g<<2)>>2]|0)!=(k[J+(d<<2)>>2]|0))break;if(b>>>0>=c>>>0)break h}b=k[E>>2]|0;k[(k[I>>2]|0)+(g<<2)>>2]=b-(k[K>>2]|0)>>2;k[H>>2]=g;if(b>>>0<(k[s>>2]|0)>>>0){k[b>>2]=g;k[E>>2]=b+4}else vg(K,H);d=g;continue g}while(0);J=k[I>>2]|0;k[J+(g<<2)>>2]=k[J+(d<<2)>>2];d=g}}while(0);c=k[G>>2]|0;b=k[c+24>>2]|0;e=k[b+84>>2]|0;d=k[b+80>>2]|0;if((e-d|0)>0){n=D+4|0;o=D+8|0;m=0;i=c;j=c;while(1){k[D>>2]=0;k[D+4>>2]=0;k[D+8>>2]=0;g=(k[I>>2]|0)+(m*3<<2)|0;k[D>>2]=k[g>>2];k[D+4>>2]=k[g+4>>2];k[D+8>>2]=k[g+8>>2];g=b+80|0;h=b+84|0;a=(e-d|0)/12|0;c=d;l=m;m=m+1|0;if((l|0)<(a|0)){g=c;c=i;f=j}else{f=e;k[H>>2]=0;k[H+4>>2]=0;k[H+8>>2]=0;if(m>>>0<=a>>>0)if(m>>>0>>0?(C=c+(m*12|0)|0,(f|0)!=(C|0)):0){e=f+(~(((f+-12-C|0)>>>0)/12|0)*12|0)|0;k[h>>2]=e;f=j}else f=j;else{_e(g,m-a|0,H);f=k[G>>2]|0;d=k[f+24>>2]|0;c=k[g>>2]|0;b=d;e=k[d+84>>2]|0;d=k[d+80>>2]|0}g=c;c=f}k[g+(l*12|0)>>2]=k[D>>2];k[g+(l*12|0)+4>>2]=k[n>>2];k[g+(l*12|0)+8>>2]=k[o>>2];if((m|0)>=((e-d|0)/12|0|0))break;else{i=c;j=f}}}b=k[K>>2]|0;k[(k[c+4>>2]|0)+64>>2]=(k[E>>2]|0)-b>>2;d=k[I>>2]|0;e=d;if(d){b=I+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-e|0)>>>2)<<2);Fl(d);b=k[K>>2]|0}c=b;if(b|0){d=k[E>>2]|0;if((d|0)!=(b|0))k[E>>2]=d+(~((d+-4-c|0)>>>2)<<2);Fl(b)}r=J;return 1}function hb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0;fa=r;r=r+80|0;da=fa+64|0;j=fa+16|0;ea=fa+40|0;X=fa+28|0;W=fa;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;ba=c+4|0;n=k[ba>>2]|0;Y=c+8|0;l=k[Y>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;Z=ea+8|0;_=ea+4|0;$=ea+16|0;aa=ea+20|0;Zb(ea);g=k[_>>2]|0;o=k[Z>>2]|0;h=(k[aa>>2]|0)+(k[$>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;V=g+16|0;k[V>>2]=k[j>>2];k[V+4>>2]=k[j+4>>2];k[V+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[aa>>2]|0)+1|0;k[aa>>2]=g;if(!g){lf(ea);r=fa;return}O=a+44|0;P=a+40|0;N=f+4|0;Q=da+4|0;R=da+8|0;S=a+24|0;T=a+20|0;U=a+84|0;V=a+80|0;e=o;a:while(1){K=k[$>>2]|0;J=g+-1|0;h=J+K|0;L=k[_>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[X>>2]=k[H>>2];k[X+4>>2]=k[H+4>>2];k[X+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[aa>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[Z>>2]=(k[Z>>2]|0)+-4}k[c>>2]=j;k[ba>>2]=b;k[Y>>2]=l;k[d>>2]=k[X>>2];k[d+4>>2]=k[X+4>>2];k[d+8>>2]=k[X+8>>2];k[da>>2]=k[X>>2];k[da+4>>2]=k[X+4>>2];k[da+8>>2]=k[X+8>>2];p=mj(a,M,c,da,h)|0;e=d+(p<<2)|0;m=k[e>>2]|0;g=k[a>>2]|0;L=g-m|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=_i(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ah((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[da>>2]=k[c>>2];k[Q>>2]=k[ba>>2];k[R>>2]=k[Y>>2];j=da+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>0>=33){g=30;break a}if(!j){g=32;break a}b=k[S>>2]|0;g=32-b|0;l=k[T>>2]|0;h=k[l>>2]<>>(32-j|0);L=b+j|0;k[S>>2]=L;if((L|0)==32){k[T>>2]=l+4;k[S>>2]=0}}else{L=j-g|0;k[S>>2]=L;K=l+4|0;k[T>>2]=K;L=32-L|0;g=(k[K>>2]|0)>>>L|h>>>(L-g|0)}b=(M>>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[U>>2]|0;g=k[V>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[U>>2]=M;if((M|0)==32){k[V>>2]=g+4;k[U>>2]=0}n=j?b:h;o=j?h:b}k[e>>2]=m+1;if(n|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[ba>>2]|0;m=k[Y>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0;M=b-j|0;g=k[$>>2]|0;h=k[aa>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ea);g=k[$>>2]|0;h=k[aa>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[W>>2];k[M+4>>2]=k[W+4>>2];k[M+8>>2]=k[W+8>>2];k[g+28>>2]=p;k[aa>>2]=(k[aa>>2]|0)+1}if(o|0){k[W>>2]=k[d>>2];k[W+4>>2]=k[d+4>>2];k[W+8>>2]=k[d+8>>2];l=k[da>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0;M=b-j|0;g=k[$>>2]|0;h=k[aa>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ea);g=k[$>>2]|0;h=k[aa>>2]|0;b=k[Z>>2]|0;j=k[_>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[W>>2];k[M+4>>2]=k[W+4>>2];k[M+8>>2]=k[W+8>>2];k[g+28>>2]=p;k[aa>>2]=(k[aa>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=da+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=da+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=da+(t<<2)|0;s=c+(t<<2)|0;t=da+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=da+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ga=L-g|0;k[O>>2]=ga;j=b+4|0;k[P>>2]=j;b=32-ga|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=K-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ga=j+K|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=C-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ga=j+C|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ga=k[b>>2]|0;b=_i(g|0,((g|0)<0)<<31>>31|0,ga|0,k[b+4>>2]|0)|0;Ah((k[k[G>>2]>>2]|0)+b|0,da|0,ga|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[aa>>2]|0;if(!g){g=57;break}e=k[Z>>2]|0}if((g|0)==14)Ja(9959,9997,231,10067);else if((g|0)==19)Ja(10080,10104,111,10131);else if((g|0)==21)Ja(10160,10104,112,10131);else if((g|0)==30)Ja(10080,10104,111,10131);else if((g|0)==32)Ja(10160,10104,112,10131);else if((g|0)==57){lf(ea);r=fa;return}}function ib(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0;ea=r;r=r+80|0;ba=ea+64|0;i=ea+16|0;da=ea+40|0;W=ea+28|0;V=ea;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;aa=c+4|0;m=k[aa>>2]|0;X=c+8|0;j=k[X>>2]|0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[da+12>>2]=0;k[da+16>>2]=0;k[da+20>>2]=0;Y=da+8|0;Z=da+4|0;_=da+16|0;$=da+20|0;Zb(da);g=k[Z>>2]|0;n=k[Y>>2]|0;h=(k[$>>2]|0)+(k[_>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;U=g+16|0;k[U>>2]=k[i>>2];k[U+4>>2]=k[i+4>>2];k[U+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[$>>2]|0)+1|0;k[$>>2]=g;if(!g){lf(da);r=ea;return}L=a+44|0;M=a+40|0;N=ba+4|0;O=ba+8|0;P=ba+4|0;Q=ba+8|0;R=a+24|0;S=a+20|0;T=a+84|0;U=a+80|0;e=n;a:while(1){I=k[_>>2]|0;H=g+-1|0;h=H+I|0;J=k[Z>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[W>>2]=k[F>>2];k[W+4>>2]=k[F+4>>2];k[W+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[$>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[Y>>2]=(k[Y>>2]|0)+-4}k[c>>2]=i;k[aa>>2]=b;k[X>>2]=j;k[d>>2]=k[W>>2];k[d+4>>2]=k[W+4>>2];k[d+8>>2]=k[W+8>>2];k[ba>>2]=k[W>>2];k[ba+4>>2]=k[W+4>>2];k[ba+8>>2]=k[W+8>>2];o=mj(a,K,c,ba,h)|0;e=d+(o<<2)|0;l=k[e>>2]|0;g=k[a>>2]|0;J=g-l|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))Cf(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[X>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[ba>>2]=k[c>>2];k[P>>2]=k[aa>>2];k[Q>>2]=k[X>>2];i=ba+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>0>=33){g=32;break a}if(!i){g=34;break a}b=k[R>>2]|0;g=32-b|0;j=k[S>>2]|0;h=k[j>>2]<>>(32-i|0);J=b+i|0;k[R>>2]=J;if((J|0)==32){k[S>>2]=j+4;k[R>>2]=0}}else{J=i-g|0;k[R>>2]=J;I=j+4|0;k[S>>2]=I;J=32-J|0;g=(k[I>>2]|0)>>>J|h>>>(J-g|0)}b=(K>>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[T>>2]|0;g=k[U>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[T>>2]=K;if((K|0)==32){k[U>>2]=g+4;k[T>>2]=0}m=i?b:h;n=i?h:b}k[e>>2]=l+1;if(m|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[aa>>2]|0;l=k[X>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0;K=b-i|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(da);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[V>>2];k[K+4>>2]=k[V+4>>2];k[K+8>>2]=k[V+8>>2];k[g+28>>2]=o;k[$>>2]=(k[$>>2]|0)+1}if(n|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];j=k[ba>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0;K=b-i|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(da);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;i=k[Z>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[V>>2];k[K+4>>2]=k[V+4>>2];k[K+8>>2]=k[V+8>>2];k[g+28>>2]=o;k[$>>2]=(k[$>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=ba+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=ba+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=ba+(s<<2)|0;q=c+(s<<2)|0;s=ba+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=ba+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{fa=J-g|0;k[L>>2]=fa;i=b+4|0;k[M>>2]=i;b=32-fa|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=I-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;fa=i+I|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=C-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;fa=i+C|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))Cf(B,ba);else{k[g>>2]=k[ba>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[$>>2]|0;if(!g){g=58;break}e=k[Y>>2]|0}if((g|0)==15)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==32)Ja(10080,10104,111,10131);else if((g|0)==34)Ja(10160,10104,112,10131);else if((g|0)==58){lf(da);r=ea;return}}function jb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;Zb(ba);g=k[Y>>2]|0;o=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){lf(ba);r=da;return}O=a+552|0;P=a+548|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+592|0;T=a+588|0;e=o;a:while(1){K=k[Z>>2]|0;J=g+-1|0;h=J+K|0;L=k[Y>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[V>>2]=k[H>>2];k[V+4>>2]=k[H+4>>2];k[V+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[_>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=j;k[$>>2]=b;k[W>>2]=l;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=Jg(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=_i(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ah((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=_i(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ah((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=51;break}e=k[X>>2]|0}if((g|0)==14)Ja(9959,9997,231,10067);else if((g|0)==19)Ja(10080,10104,111,10131);else if((g|0)==21)Ja(10160,10104,112,10131);else if((g|0)==51){lf(ba);r=da;return}}function kb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;Zb(ba);g=k[Y>>2]|0;o=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){lf(ba);r=da;return}O=a+552|0;P=a+548|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+592|0;T=a+588|0;e=o;a:while(1){K=k[Z>>2]|0;J=g+-1|0;h=J+K|0;L=k[Y>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[V>>2]=k[H>>2];k[V+4>>2]=k[H+4>>2];k[V+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[_>>2]=J;L=e-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=j;k[$>>2]=b;k[W>>2]=l;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=mj(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=_i(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ah((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=_i(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ah((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=51;break}e=k[X>>2]|0}if((g|0)==14)Ja(9959,9997,231,10067);else if((g|0)==19)Ja(10080,10104,111,10131);else if((g|0)==21)Ja(10160,10104,112,10131);else if((g|0)==51){lf(ba);r=da;return}}function lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=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;J=r;r=r+976|0;I=J+960|0;B=J+8|0;q=J+952|0;C=J+944|0;D=J+936|0;E=J+928|0;F=J+920|0;G=J+912|0;H=J+904|0;v=J+896|0;x=J+888|0;y=J+880|0;z=J+872|0;A=J;d=k[k[a+4>>2]>>2]|0;a=k[(k[a+16>>2]|0)+4>>2]|0;if((d|0)<=-1)Ja(9535,9551,62,9579);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)<=(d|0))Ja(9589,9551,63,9579);a=k[c+(d<<2)>>2]|0;i[a+84>>0]=1;c=k[a+68>>2]|0;d=a+72|0;e=k[d>>2]|0;if((e|0)!=(c|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);d=b+8|0;c=k[d>>2]|0;d=k[d+4>>2]|0;e=b+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((d|0)>(g|0)|(d|0)==(g|0)&c>>>0>f>>>0)){I=0;r=J;return I|0}h=k[b>>2]|0;K=i[h+f>>0]|0;j=Vj(f|0,g|0,1,0)|0;m=M;L=e;k[L>>2]=j;k[L+4>>2]=m;switch(K<<24>>24){case 0:{if(((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(s=Vj(f|0,g|0,2,0)|0,t=e,k[t>>2]=s,k[t+4>>2]=M,t=Vj(f|0,g|0,6,0)|0,u=M,!((d|0)<(u|0)|(d|0)==(u|0)&c>>>0>>0)):0)?(L=h+s|0,L=l[L>>0]|l[L+1>>0]<<8|l[L+2>>0]<<16|l[L+3>>0]<<24,K=e,k[K>>2]=t,k[K+4>>2]=u,Hg(a,L)|0,Zj(B),k[q>>2]=a,k[q+4>>2]=0,k[I>>2]=k[q>>2],k[I+4>>2]=k[q+4>>2],Jd(B,b,I)|0):0){L=1;r=J;return L|0}L=0;r=J;return L|0}case 1:{a:do if((d|0)>(m|0)|(d|0)==(m|0)&c>>>0>j>>>0?(w=i[h+j>>0]|0,n=Vj(f|0,g|0,2,0)|0,o=e,k[o>>2]=n,k[o+4>>2]=M,o=Vj(f|0,g|0,6,0)|0,p=M,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0){L=h+n|0;L=l[L>>0]|l[L+1>>0]<<8|l[L+2>>0]<<16|l[L+3>>0]<<24;K=e;k[K>>2]=o;k[K+4>>2]=p;Hg(a,L)|0;do switch(w<<24>>24){case 0:{Pi(B);k[C>>2]=a;k[C+4>>2]=0;k[I>>2]=k[C>>2];k[I+4>>2]=k[C+4>>2];L=Ad(B,b,I)|0;Qh(B+68|0);Qh(B+48|0);Qh(B+28|0);Qh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 1:{Pi(B);k[D>>2]=a;k[D+4>>2]=0;k[I>>2]=k[D>>2];k[I+4>>2]=k[D+4>>2];L=Ad(B,b,I)|0;Qh(B+68|0);Qh(B+48|0);Qh(B+28|0);Qh(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 2:{Qi(B);k[E>>2]=a;k[E+4>>2]=0;k[I>>2]=k[E>>2];k[I+4>>2]=k[E+4>>2];L=Bd(B,b,I)|0;Qh(B+64|0);Qh(B+44|0);Qh(B+24|0);Il(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 3:{Qi(B);k[F>>2]=a;k[F+4>>2]=0;k[I>>2]=k[F>>2];k[I+4>>2]=k[F+4>>2];L=Bd(B,b,I)|0;Qh(B+64|0);Qh(B+44|0);Qh(B+24|0);Il(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 4:{Ai(B);k[G>>2]=a;k[G+4>>2]=0;k[I>>2]=k[G>>2];k[I+4>>2]=k[G+4>>2];L=jd(B,b,I)|0;Qh(B+576|0);Qh(B+556|0);Qh(B+536|0);Il(B+520|0);Cg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 5:{Ai(B);k[H>>2]=a;k[H+4>>2]=0;k[I>>2]=k[H>>2];k[I+4>>2]=k[H+4>>2];L=jd(B,b,I)|0;Qh(B+576|0);Qh(B+556|0);Qh(B+536|0);Il(B+520|0);Cg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 6:{Ai(B);k[v>>2]=a;k[v+4>>2]=0;k[I>>2]=k[v>>2];k[I+4>>2]=k[v+4>>2];L=id(B,b,I)|0;Qh(B+576|0);Qh(B+556|0);Qh(B+536|0);Il(B+520|0);Cg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 7:{Ai(B);k[x>>2]=a;k[x+4>>2]=0;k[I>>2]=k[x>>2];k[I+4>>2]=k[x+4>>2];L=id(B,b,I)|0;Qh(B+576|0);Qh(B+556|0);Qh(B+536|0);Il(B+520|0);Cg(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 8:{vi(B);k[y>>2]=a;k[y+4>>2]=0;k[I>>2]=k[y>>2];k[I+4>>2]=k[y+4>>2];L=fd(B,b,I)|0;Qh(B+840|0);Qh(B+820|0);Qh(B+800|0);hl(B+776|0);ff(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 9:{vi(B);k[z>>2]=a;k[z+4>>2]=0;k[I>>2]=k[z>>2];k[I+4>>2]=k[z+4>>2];L=fd(B,b,I)|0;Qh(B+840|0);Qh(B+820|0);Qh(B+800|0);hl(B+776|0);ff(B+8|0);if(L)a=1;else break a;r=J;return a|0}case 10:{vi(B);k[A>>2]=a;k[A+4>>2]=0;k[I>>2]=k[A>>2];k[I+4>>2]=k[A+4>>2];L=ed(B,b,I)|0;Qh(B+840|0);Qh(B+820|0);Qh(B+800|0);hl(B+776|0);ff(B+8|0);if(L)a=1;else break a;r=J;return a|0}default:break a}while(0)}while(0);L=0;r=J;return L|0}default:{L=0;r=J;return L|0}}return 0}function mb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0;da=r;r=r+80|0;aa=da+64|0;j=da+16|0;ba=da+40|0;V=da+28|0;U=da;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];m=k[c>>2]|0;$=c+4|0;n=k[$>>2]|0;W=c+8|0;l=k[W>>2]|0;k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;k[ba+12>>2]=0;k[ba+16>>2]=0;k[ba+20>>2]=0;X=ba+8|0;Y=ba+4|0;Z=ba+16|0;_=ba+20|0;Zb(ba);g=k[Y>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((k[X>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=n;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[j>>2];k[T+4>>2]=k[j+4>>2];k[T+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){lf(ba);r=da;return}O=a+816|0;P=a+812|0;N=f+4|0;Q=aa+4|0;R=aa+8|0;S=a+856|0;T=a+852|0;a:while(1){j=k[Y>>2]|0;L=k[Z>>2]|0;K=k[j+(L>>>7<<2)>>2]|0;h=L&127;M=k[K+(h<<5)>>2]|0;b=k[K+(h<<5)+4>>2]|0;l=k[K+(h<<5)+8>>2]|0;e=k[K+(h<<5)+12>>2]|0;J=K+(h<<5)+16|0;k[V>>2]=k[J>>2];k[V+4>>2]=k[J+4>>2];k[V+8>>2]=k[J+8>>2];h=k[K+(h<<5)+28>>2]|0;k[_>>2]=g+-1;L=L+1|0;k[Z>>2]=L;if(L>>>0>255){Fl(k[j>>2]|0);k[Y>>2]=(k[Y>>2]|0)+4;k[Z>>2]=(k[Z>>2]|0)+-128}k[c>>2]=b;k[$>>2]=l;k[W>>2]=e;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[aa>>2]=k[V>>2];k[aa+4>>2]=k[V+4>>2];k[aa+8>>2]=k[V+8>>2];p=Ig(a,M,c,aa,h)|0;l=d+(p<<2)|0;e=k[l>>2]|0;g=k[a>>2]|0;L=g-e|0;do if(!L){if((M|0)>0){m=k[f>>2]|0;b=m+84|0;l=m+68|0;e=m+40|0;m=m+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=e;L=k[K>>2]|0;K=_i(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ah((k[k[m>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[aa>>2]=k[c>>2];k[Q>>2]=k[$>>2];k[R>>2]=k[W>>2];j=aa+(p<<2)|0;k[j>>2]=(k[j>>2]|0)+(1<>>1)-g|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[S>>2]|0;g=k[T>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[S>>2]=M;if((M|0)==32){k[T>>2]=g+4;k[S>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=e+1;if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[c>>2]|0;e=k[$>>2]|0;m=k[W>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}if(o|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];l=k[aa>>2]|0;e=k[Q>>2]|0;m=k[R>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0;M=b-j|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ba);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;j=k[Y>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=e;k[g+12>>2]=m;M=g+16|0;k[M>>2]=k[U>>2];k[M+4>>2]=k[U+4>>2];k[M+8>>2]=k[U+8>>2];k[g+28>>2]=p;k[_>>2]=(k[_>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=aa+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;e=aa+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;m=aa+(t<<2)|0;s=c+(t<<2)|0;t=aa+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=aa+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ea=L-g|0;k[O>>2]=ea;j=b+4|0;k[P>>2]=j;b=32-ea|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=K-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ea=j+K|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ea=C-g|0;k[O>>2]=ea;b=b+4|0;k[P>>2]=b;ea=32-ea|0;g=(k[b>>2]|0)>>>ea|h>>>(ea-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ea=j+C|0;k[O>>2]=ea;if((ea|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ea=k[b>>2]|0;b=_i(g|0,((g|0)<0)<<31>>31|0,ea|0,k[b+4>>2]|0)|0;Ah((k[k[G>>2]>>2]|0)+b|0,aa|0,ea|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=50;break}}if((g|0)==14)Ja(9959,9997,231,10067);else if((g|0)==19)Ja(10080,10104,111,10131);else if((g|0)==21)Ja(10160,10104,112,10131);else if((g|0)==50){lf(ba);r=da;return}}function nb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0,ga=0;fa=r;r=r+96|0;da=fa+72|0;j=fa+16|0;ea=fa+48|0;W=fa+32|0;aa=fa+28|0;V=fa;k[j>>2]=k[d>>2];k[j+4>>2]=k[d+4>>2];k[j+8>>2]=k[d+8>>2];n=k[c>>2]|0;ba=c+4|0;l=k[ba>>2]|0;X=c+8|0;m=k[X>>2]|0;k[ea>>2]=0;k[ea+4>>2]=0;k[ea+8>>2]=0;k[ea+12>>2]=0;k[ea+16>>2]=0;k[ea+20>>2]=0;Y=ea+8|0;Z=ea+4|0;_=ea+16|0;$=ea+20|0;Zb(ea);g=k[Z>>2]|0;o=k[Y>>2]|0;h=(k[$>>2]|0)+(k[_>>2]|0)|0;if((o|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=n;k[g+8>>2]=l;k[g+12>>2]=m;U=g+16|0;k[U>>2]=k[j>>2];k[U+4>>2]=k[j+4>>2];k[U+8>>2]=k[j+8>>2];k[g+28>>2]=e;g=(k[$>>2]|0)+1|0;k[$>>2]=g;if(!g){lf(ea);r=fa;return}O=a+40|0;P=a+36|0;N=f+4|0;Q=da+4|0;R=da+8|0;S=a+8|0;T=a+80|0;U=a+76|0;m=o;a:while(1){K=k[_>>2]|0;J=g+-1|0;h=J+K|0;L=k[Z>>2]|0;I=k[L+(h>>>7<<2)>>2]|0;h=h&127;M=k[I+(h<<5)>>2]|0;j=k[I+(h<<5)+4>>2]|0;b=k[I+(h<<5)+8>>2]|0;l=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[W>>2]=k[H>>2];k[W+4>>2]=k[H+4>>2];k[W+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[$>>2]=J;L=m-L|0;if((1-g-K+((L|0)==0?0:(L<<5)+-1|0)|0)>>>0>255){Fl(k[m+-4>>2]|0);k[Y>>2]=(k[Y>>2]|0)+-4}k[c>>2]=j;k[ba>>2]=b;k[X>>2]=l;k[d>>2]=k[W>>2];k[d+4>>2]=k[W+4>>2];k[d+8>>2]=k[W+8>>2];k[da>>2]=k[W>>2];k[da+4>>2]=k[W+4>>2];k[da+8>>2]=k[W+8>>2];p=mj(a,M,c,da,h)|0;l=d+(p<<2)|0;m=k[l>>2]|0;g=k[a>>2]|0;L=g-m|0;do if(!L){if((M|0)>0){e=k[f>>2]|0;b=e+84|0;l=e+68|0;m=e+40|0;e=e+64|0;j=k[N>>2]|0;g=0;n=j;while(1){if(!(i[b>>0]|0))h=k[(k[l>>2]|0)+(n<<2)>>2]|0;else h=n;K=m;L=k[K>>2]|0;K=_i(h|0,((h|0)<0)<<31>>31|0,L|0,k[K+4>>2]|0)|0;Ah((k[k[e>>2]>>2]|0)+K|0,c|0,L|0)|0;g=g+1|0;if((g|0)==(M|0))break;else n=n+1|0}k[N>>2]=M+j}}else{if(!M){g=14;break a}if(M>>>0>=3){k[da>>2]=k[c>>2];k[Q>>2]=k[ba>>2];k[R>>2]=k[X>>2];b=da+(p<<2)|0;k[b>>2]=(k[b>>2]|0)+(1<>2]=0;Ng(S,b,aa);b=(M>>>1)-(k[aa>>2]|0)|0;h=M-b|0;if((b|0)==(h|0)){n=b;o=b}else{M=k[T>>2]|0;g=k[U>>2]|0;j=(k[g>>2]&1<<31-M|0)!=0;M=M+1|0;k[T>>2]=M;if((M|0)==32){k[U>>2]=g+4;k[T>>2]=0}n=j?b:h;o=j?h:b}k[l>>2]=m+1;if(n|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];l=k[c>>2]|0;m=k[ba>>2]|0;e=k[X>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0;M=b-j|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ea);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;M=g+16|0;k[M>>2]=k[V>>2];k[M+4>>2]=k[V+4>>2];k[M+8>>2]=k[V+8>>2];k[g+28>>2]=p;k[$>>2]=(k[$>>2]|0)+1}if(o|0){k[V>>2]=k[d>>2];k[V+4>>2]=k[d+4>>2];k[V+8>>2]=k[d+8>>2];l=k[da>>2]|0;m=k[Q>>2]|0;e=k[R>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0;M=b-j|0;g=k[_>>2]|0;h=k[$>>2]|0;if((((M|0)==0?0:(M<<5)+-1|0)|0)==(h+g|0)){Zb(ea);g=k[_>>2]|0;h=k[$>>2]|0;b=k[Y>>2]|0;j=k[Z>>2]|0}g=h+g|0;if((b|0)==(j|0))g=0;else g=(k[j+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=o;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=e;M=g+16|0;k[M>>2]=k[V>>2];k[M+4>>2]=k[V+4>>2];k[M+8>>2]=k[V+8>>2];k[g+28>>2]=p;k[$>>2]=(k[$>>2]|0)+1}break}x=(p|0)==2?0:p+1|0;t=(x|0)==2?0:x+1|0;K=g-(k[d+(x<<2)>>2]|0)|0;C=g-(k[d+(t<<2)>>2]|0)|0;G=k[f>>2]|0;D=G+84|0;E=G+68|0;F=G+40|0;G=G+64|0;H=da+(p<<2)|0;I=(L|0)<33;J=(L|0)>0;n=c+(p<<2)|0;o=(K|0)==0;m=da+(x<<2)|0;p=c+(x<<2)|0;q=(C|0)==0;e=da+(t<<2)|0;s=c+(t<<2)|0;t=da+(t<<2)|0;u=(C|0)<33;v=(C|0)>0;w=32-C|0;x=da+(x<<2)|0;y=(K|0)<33;z=(K|0)>0;A=32-K|0;B=32-L|0;l=0;do{k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;if(!I){g=19;break a}if(!J){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<>>B;k[H>>2]=g;j=j+L|0;k[O>>2]=j;if((j|0)==32){k[P>>2]=b+4;k[O>>2]=0}}else{ga=L-g|0;k[O>>2]=ga;j=b+4|0;k[P>>2]=j;b=32-ga|0;g=(k[j>>2]|0)>>>b|h>>>(b-g|0);k[H>>2]=g}k[H>>2]=g|k[n>>2];do if(!o){if(!y){g=19;break a}if(!z){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=K-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[x>>2]=g;h=x;break}g=h>>>A;k[x>>2]=g;ga=j+K|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=x}else h=x}else{h=m;g=k[m>>2]|0}while(0);k[h>>2]=g|k[p>>2];do if(!q){if(!u){g=19;break a}if(!v){g=21;break a}j=k[O>>2]|0;g=32-j|0;b=k[P>>2]|0;h=k[b>>2]<(g|0)){ga=C-g|0;k[O>>2]=ga;b=b+4|0;k[P>>2]=b;ga=32-ga|0;g=(k[b>>2]|0)>>>ga|h>>>(ga-g|0);k[t>>2]=g;h=t;break}g=h>>>w;k[t>>2]=g;ga=j+C|0;k[O>>2]=ga;if((ga|0)==32){k[P>>2]=b+4;k[O>>2]=0;h=t}else h=t}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[s>>2];g=k[N>>2]|0;k[N>>2]=g+1;if(!(i[D>>0]|0))g=k[(k[E>>2]|0)+(g<<2)>>2]|0;b=F;ga=k[b>>2]|0;b=_i(g|0,((g|0)<0)<<31>>31|0,ga|0,k[b+4>>2]|0)|0;Ah((k[k[G>>2]>>2]|0)+b|0,da|0,ga|0)|0;l=l+1|0}while(l>>>0>>0)}while(0);g=k[$>>2]|0;if(!g){g=49;break}m=k[Y>>2]|0}if((g|0)==14)Ja(9959,9997,231,10067);else if((g|0)==19)Ja(10080,10104,111,10131);else if((g|0)==21)Ja(10160,10104,112,10131);else if((g|0)==49){lf(ea);r=fa;return}}function ob(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;Zb(aa);g=k[X>>2]|0;n=k[W>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){lf(aa);r=ba;return}L=a+552|0;M=a+548|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+592|0;S=a+588|0;e=n;a:while(1){I=k[Y>>2]|0;H=g+-1|0;h=H+I|0;J=k[X>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[U>>2]=k[F>>2];k[U+4>>2]=k[F+4>>2];k[U+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[Z>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[c>>2]=i;k[_>>2]=b;k[V>>2]=j;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=Jg(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))Cf(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=$+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=$+(s<<2)|0;q=c+(s<<2)|0;s=$+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=$+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))Cf(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=52;break}e=k[W>>2]|0}if((g|0)==15)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==52){lf(aa);r=ba;return}}function pb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;Zb(aa);g=k[X>>2]|0;n=k[W>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){lf(aa);r=ba;return}L=a+552|0;M=a+548|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+592|0;S=a+588|0;e=n;a:while(1){I=k[Y>>2]|0;H=g+-1|0;h=H+I|0;J=k[X>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[U>>2]=k[F>>2];k[U+4>>2]=k[F+4>>2];k[U+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[Z>>2]=H;J=e-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){Fl(k[e+-4>>2]|0);k[W>>2]=(k[W>>2]|0)+-4}k[c>>2]=i;k[_>>2]=b;k[V>>2]=j;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=mj(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))Cf(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;e=$+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;l=$+(s<<2)|0;q=c+(s<<2)|0;s=$+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=$+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))Cf(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=52;break}e=k[W>>2]|0}if((g|0)==15)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==52){lf(aa);r=ba;return}}function qb(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=r;r=r+64|0;R=S+28|0;O=S+16|0;J=S+4|0;K=S;Q=a;L=a+64|0;b=k[L>>2]|0;k[R>>2]=0;k[R+4>>2]=0;k[R+8>>2]=0;k[R+12>>2]=0;k[R+16>>2]=Q;M=R+20|0;o[M>>2]=1.0;k[R+24>>2]=Q;Kf(R,b);b=k[L>>2]|0;k[O>>2]=0;Q=O+4|0;k[Q>>2]=0;k[O+8>>2]=0;do if(b|0)if(b>>>0>1073741823)Kk(O);else{E=b<<2;D=bj(E)|0;k[O>>2]=D;P=D+(b<<2)|0;k[O+8>>2]=P;Jh(D|0,0,E|0)|0;k[Q>>2]=P;break}while(0);k[J>>2]=0;P=J+4|0;k[P>>2]=0;k[J+8>>2]=0;k[K>>2]=0;a:do if((b|0)>0){z=R+16|0;B=R+4|0;C=R+12|0;D=R+8|0;E=J+8|0;A=R+24|0;b=0;y=0;b:while(1){v=k[z>>2]|0;j=k[v+4>>2]|0;v=(k[v+8>>2]|0)-j|0;u=(v|0)>0;if(u){h=j;l=v>>2;g=0;c=0;do{d=k[h+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(y<<2)>>2]|0;else d=y;c=d<<2^c<<1;g=g+1|0}while((g|0)<(l|0))}else c=0;w=k[B>>2]|0;x=(w|0)==0;c:do if(!x){p=w+-1|0;d=(p&w|0)==0;if(d)t=p&c;else t=(c>>>0)%(w>>>0)|0;c=k[(k[R>>2]|0)+(t<<2)>>2]|0;if((c|0)!=0?(G=k[c>>2]|0,(G|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;d:do if(d){c=G;while(1){if((k[c+4>>2]&p|0)!=(t|0)){N=41;break c}n=k[c+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0)break d;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){N=35;break b}d=k[g+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){N=39;break d}}c=k[c>>2]|0;if(!c){N=41;break c}}}else{c=G;while(1){if((((k[c+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(t|0)){N=41;break c}n=k[c+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0)break d;m=d>>2;l=0;while(1){if((m|0)<=(l|0)){N=35;break b}d=k[g+(l<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}l=l+1|0;if((h|0)!=(d|0))break;if((l|0)>=(m|0)){N=39;break d}}c=k[c>>2]|0;if(!c){N=41;break c}}}while(0);if((N|0)==39){N=0;if(!c){N=41;break}}k[(k[O>>2]|0)+(y<<2)>>2]=k[c+12>>2]}else N=41}else N=41;while(0);do if((N|0)==41){N=0;if(u){h=v>>2;g=0;c=0;do{d=k[j+(g<<2)>>2]|0;if(!(i[d+84>>0]|0))d=k[(k[d+68>>2]|0)+(y<<2)>>2]|0;else d=y;c=d<<2^c<<1;g=g+1|0}while((g|0)<(h|0));t=c}else t=0;e:do if(!x){p=w+-1|0;g=(p&w|0)==0;if(g)c=p&t;else c=(t>>>0)%(w>>>0)|0;d=k[(k[R>>2]|0)+(c<<2)>>2]|0;if((d|0)!=0?(H=k[d>>2]|0,(H|0)!=0):0){s=k[A>>2]|0;q=s+4|0;s=s+8|0;if(g){m=H;while(1){if((k[m+4>>2]&p|0)!=(c|0)){N=72;break e}n=k[m+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0){c=y;break e}l=d>>2;j=0;while(1){if((l|0)<=(j|0)){N=68;break b}d=k[g+(j<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}j=j+1|0;if((h|0)!=(d|0))break;if((j|0)>=(l|0)){c=y;break e}}m=k[m>>2]|0;if(!m){N=72;break}}}else{m=H;while(1){if((((k[m+4>>2]|0)>>>0)%(w>>>0)|0|0)!=(c|0)){N=72;break e}n=k[m+8>>2]|0;g=k[q>>2]|0;d=(k[s>>2]|0)-g|0;if((d|0)<=0){c=y;break e}l=d>>2;j=0;while(1){if((l|0)<=(j|0)){N=68;break b}d=k[g+(j<<2)>>2]|0;if(!(i[d+84>>0]|0)){h=k[d+68>>2]|0;d=k[h+(y<<2)>>2]|0;h=k[h+(n<<2)>>2]|0}else{d=y;h=n}j=j+1|0;if((h|0)!=(d|0))break;if((j|0)>=(l|0)){c=y;break e}}m=k[m>>2]|0;if(!m){N=72;break}}}}else N=72}else{c=0;N=72}while(0);if((N|0)==72){N=0;h=bj(16)|0;k[h+8>>2]=y;k[h+12>>2]=b;k[h+4>>2]=t;k[h>>2]=0;e=+(((k[C>>2]|0)+1|0)>>>0);f=+o[M>>2];do if(x|e>+(w>>>0)*f){c=(w>>>0>2&(w+-1&w|0)==0&1|w<<1)^1;d=~~+_(+(e/f))>>>0;Kf(R,c>>>0>>0?d:c);c=k[B>>2]|0;d=c+-1|0;if(!(d&c)){g=c;c=d&t;break}else{g=c;c=(t>>>0)%(c>>>0)|0;break}}else g=w;while(0);c=(k[R>>2]|0)+(c<<2)|0;d=k[c>>2]|0;if(!d){k[h>>2]=k[D>>2];k[D>>2]=h;k[c>>2]=D;c=k[h>>2]|0;if(c|0){c=k[c+4>>2]|0;d=g+-1|0;if(!(d&g))c=c&d;else c=(c>>>0)%(g>>>0)|0;k[(k[R>>2]|0)+(c<<2)>>2]=h}}else{k[h>>2]=k[d>>2];k[d>>2]=h}k[C>>2]=(k[C>>2]|0)+1;c=k[K>>2]|0}d=b+1|0;k[(k[O>>2]|0)+(c<<2)>>2]=b;b=k[P>>2]|0;if((b|0)==(k[E>>2]|0)){vg(J,K);b=d;break}else{k[b>>2]=k[K>>2];k[P>>2]=b+4;b=d;break}}while(0);y=(k[K>>2]|0)+1|0;k[K>>2]=y;c=k[L>>2]|0;if((y|0)>=(c|0)){F=b;I=c;break a}}if((N|0)==35)Ja(9589,9551,63,9579);else if((N|0)==68)Ja(9589,9551,63,9579)}else{F=0;I=0}while(0);if((F|0)!=(I|0)){Ua[k[(k[a>>2]|0)+20>>2]&7](a,O,J);k[L>>2]=F}b=k[J>>2]|0;c=b;if(b|0){d=k[P>>2]|0;if((d|0)!=(b|0))k[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);Fl(b)}b=k[O>>2]|0;c=b;if(b|0){d=k[Q>>2]|0;if((d|0)!=(b|0))k[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);Fl(b)}b=k[R+8>>2]|0;if(b|0)do{Q=b;b=k[b>>2]|0;Fl(Q)}while((b|0)!=0);b=k[R>>2]|0;k[R>>2]=0;if(!b){r=S;return}Fl(b);r=S;return}function rb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0;ba=r;r=r+80|0;$=ba+64|0;i=ba+16|0;aa=ba+40|0;U=ba+28|0;T=ba;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];l=k[c>>2]|0;_=c+4|0;m=k[_>>2]|0;V=c+8|0;j=k[V>>2]|0;k[aa>>2]=0;k[aa+4>>2]=0;k[aa+8>>2]=0;k[aa+12>>2]=0;k[aa+16>>2]=0;k[aa+20>>2]=0;W=aa+8|0;X=aa+4|0;Y=aa+16|0;Z=aa+20|0;Zb(aa);g=k[X>>2]|0;h=(k[Z>>2]|0)+(k[Y>>2]|0)|0;if((k[W>>2]|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=l;k[g+8>>2]=m;k[g+12>>2]=j;S=g+16|0;k[S>>2]=k[i>>2];k[S+4>>2]=k[i+4>>2];k[S+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[Z>>2]|0)+1|0;k[Z>>2]=g;if(!g){lf(aa);r=ba;return}L=a+816|0;M=a+812|0;N=$+4|0;O=$+8|0;P=$+4|0;Q=$+8|0;R=a+856|0;S=a+852|0;a:while(1){i=k[X>>2]|0;J=k[Y>>2]|0;I=k[i+(J>>>7<<2)>>2]|0;h=J&127;K=k[I+(h<<5)>>2]|0;b=k[I+(h<<5)+4>>2]|0;j=k[I+(h<<5)+8>>2]|0;e=k[I+(h<<5)+12>>2]|0;H=I+(h<<5)+16|0;k[U>>2]=k[H>>2];k[U+4>>2]=k[H+4>>2];k[U+8>>2]=k[H+8>>2];h=k[I+(h<<5)+28>>2]|0;k[Z>>2]=g+-1;J=J+1|0;k[Y>>2]=J;if(J>>>0>255){Fl(k[i>>2]|0);k[X>>2]=(k[X>>2]|0)+4;k[Y>>2]=(k[Y>>2]|0)+-128}k[c>>2]=b;k[_>>2]=j;k[V>>2]=e;k[d>>2]=k[U>>2];k[d+4>>2]=k[U+4>>2];k[d+8>>2]=k[U+8>>2];k[$>>2]=k[U>>2];k[$+4>>2]=k[U+4>>2];k[$+8>>2]=k[U+8>>2];o=Ig(a,K,c,$,h)|0;j=d+(o<<2)|0;e=k[j>>2]|0;g=k[a>>2]|0;J=g-e|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))Cf(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[_>>2];k[j+8>>2]=k[V>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[$>>2]=k[c>>2];k[P>>2]=k[_>>2];k[Q>>2]=k[V>>2];i=$+(o<<2)|0;k[i>>2]=(k[i>>2]|0)+(1<>>1)-g|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[R>>2]|0;g=k[S>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[R>>2]=K;if((K|0)==32){k[S>>2]=g+4;k[R>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=e+1;if(m|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[c>>2]|0;e=k[_>>2]|0;l=k[V>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}if(n|0){k[T>>2]=k[d>>2];k[T+4>>2]=k[d+4>>2];k[T+8>>2]=k[d+8>>2];j=k[$>>2]|0;e=k[P>>2]|0;l=k[Q>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0;K=b-i|0;g=k[Y>>2]|0;h=k[Z>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(aa);g=k[Y>>2]|0;h=k[Z>>2]|0;b=k[W>>2]|0;i=k[X>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=e;k[g+12>>2]=l;K=g+16|0;k[K>>2]=k[T>>2];k[K+4>>2]=k[T+4>>2];k[K+8>>2]=k[T+8>>2];k[g+28>>2]=o;k[Z>>2]=(k[Z>>2]|0)+1}break}u=(o|0)==2?0:o+1|0;p=(u|0)==2?0:u+1|0;I=g-(k[d+(u<<2)>>2]|0)|0;C=g-(k[d+(p<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=$+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;z=c+(o<<2)|0;A=(I|0)==0;e=$+(u<<2)|0;m=c+(u<<2)|0;n=(C|0)==0;l=$+(p<<2)|0;o=c+(p<<2)|0;p=$+(p<<2)|0;q=(C|0)<33;s=(C|0)>0;t=32-C|0;u=$+(u<<2)|0;v=(I|0)<33;w=(I|0)>0;x=32-I|0;y=32-J|0;j=0;do{k[$>>2]=0;k[$+4>>2]=0;k[$+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>y;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{da=J-g|0;k[L>>2]=da;i=b+4|0;k[M>>2]=i;b=32-da|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[z>>2];do if(!A){if(!v){g=21;break a}if(!w){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=I-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[u>>2]=g;h=u;break}g=h>>>x;k[u>>2]=g;da=i+I|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=u}else h=u}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[m>>2];do if(!n){if(!q){g=21;break a}if(!s){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){da=C-g|0;k[L>>2]=da;b=b+4|0;k[M>>2]=b;da=32-da|0;g=(k[b>>2]|0)>>>da|h>>>(da-g|0);k[p>>2]=g;h=p;break}g=h>>>t;k[p>>2]=g;da=i+C|0;k[L>>2]=da;if((da|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=p}else h=p}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[o>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))Cf(B,$);else{k[g>>2]=k[$>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[Z>>2]|0;if(!g){g=51;break}}if((g|0)==15)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==51){lf(aa);r=ba;return}}function sb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,da=0,ea=0,fa=0;ea=r;r=r+96|0;ba=ea+72|0;i=ea+16|0;da=ea+48|0;V=ea+32|0;$=ea+28|0;U=ea;k[i>>2]=k[d>>2];k[i+4>>2]=k[d+4>>2];k[i+8>>2]=k[d+8>>2];m=k[c>>2]|0;aa=c+4|0;j=k[aa>>2]|0;W=c+8|0;l=k[W>>2]|0;k[da>>2]=0;k[da+4>>2]=0;k[da+8>>2]=0;k[da+12>>2]=0;k[da+16>>2]=0;k[da+20>>2]=0;X=da+8|0;Y=da+4|0;Z=da+16|0;_=da+20|0;Zb(da);g=k[Y>>2]|0;n=k[X>>2]|0;h=(k[_>>2]|0)+(k[Z>>2]|0)|0;if((n|0)==(g|0))g=0;else g=(k[g+(h>>>7<<2)>>2]|0)+((h&127)<<5)|0;k[g>>2]=b;k[g+4>>2]=m;k[g+8>>2]=j;k[g+12>>2]=l;T=g+16|0;k[T>>2]=k[i>>2];k[T+4>>2]=k[i+4>>2];k[T+8>>2]=k[i+8>>2];k[g+28>>2]=e;g=(k[_>>2]|0)+1|0;k[_>>2]=g;if(!g){lf(da);r=ea;return}L=a+40|0;M=a+36|0;N=ba+4|0;O=ba+8|0;P=ba+4|0;Q=ba+8|0;R=a+8|0;S=a+80|0;T=a+76|0;l=n;a:while(1){I=k[Z>>2]|0;H=g+-1|0;h=H+I|0;J=k[Y>>2]|0;G=k[J+(h>>>7<<2)>>2]|0;h=h&127;K=k[G+(h<<5)>>2]|0;i=k[G+(h<<5)+4>>2]|0;b=k[G+(h<<5)+8>>2]|0;j=k[G+(h<<5)+12>>2]|0;F=G+(h<<5)+16|0;k[V>>2]=k[F>>2];k[V+4>>2]=k[F+4>>2];k[V+8>>2]=k[F+8>>2];h=k[G+(h<<5)+28>>2]|0;k[_>>2]=H;J=l-J|0;if((1-g-I+((J|0)==0?0:(J<<5)+-1|0)|0)>>>0>255){Fl(k[l+-4>>2]|0);k[X>>2]=(k[X>>2]|0)+-4}k[c>>2]=i;k[aa>>2]=b;k[W>>2]=j;k[d>>2]=k[V>>2];k[d+4>>2]=k[V+4>>2];k[d+8>>2]=k[V+8>>2];k[ba>>2]=k[V>>2];k[ba+4>>2]=k[V+4>>2];k[ba+8>>2]=k[V+8>>2];o=mj(a,K,c,ba,h)|0;j=d+(o<<2)|0;l=k[j>>2]|0;g=k[a>>2]|0;J=g-l|0;do if(!J){if((K|0)>0){h=k[f>>2]|0;i=h+4|0;b=h+8|0;g=0;do{j=k[i>>2]|0;if((j|0)==(k[b>>2]|0))Cf(h,c);else{k[j>>2]=k[c>>2];k[j+4>>2]=k[aa>>2];k[j+8>>2]=k[W>>2];k[i>>2]=j+12}g=g+1|0}while((g|0)<(K|0))}}else{if(!K){g=15;break a}if(K>>>0>=3){k[ba>>2]=k[c>>2];k[P>>2]=k[aa>>2];k[Q>>2]=k[W>>2];b=ba+(o<<2)|0;k[b>>2]=(k[b>>2]|0)+(1<>2]=0;Ng(R,b,$);b=(K>>>1)-(k[$>>2]|0)|0;h=K-b|0;if((b|0)==(h|0)){m=b;n=b}else{K=k[S>>2]|0;g=k[T>>2]|0;i=(k[g>>2]&1<<31-K|0)!=0;K=K+1|0;k[S>>2]=K;if((K|0)==32){k[T>>2]=g+4;k[S>>2]=0}m=i?b:h;n=i?h:b}k[j>>2]=l+1;if(m|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];j=k[c>>2]|0;l=k[aa>>2]|0;e=k[W>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0;K=b-i|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(da);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=m;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=e;K=g+16|0;k[K>>2]=k[U>>2];k[K+4>>2]=k[U+4>>2];k[K+8>>2]=k[U+8>>2];k[g+28>>2]=o;k[_>>2]=(k[_>>2]|0)+1}if(n|0){k[U>>2]=k[d>>2];k[U+4>>2]=k[d+4>>2];k[U+8>>2]=k[d+8>>2];j=k[ba>>2]|0;l=k[P>>2]|0;e=k[Q>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0;K=b-i|0;g=k[Z>>2]|0;h=k[_>>2]|0;if((((K|0)==0?0:(K<<5)+-1|0)|0)==(h+g|0)){Zb(da);g=k[Z>>2]|0;h=k[_>>2]|0;b=k[X>>2]|0;i=k[Y>>2]|0}g=h+g|0;if((b|0)==(i|0))g=0;else g=(k[i+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;k[g>>2]=n;k[g+4>>2]=j;k[g+8>>2]=l;k[g+12>>2]=e;K=g+16|0;k[K>>2]=k[U>>2];k[K+4>>2]=k[U+4>>2];k[K+8>>2]=k[U+8>>2];k[g+28>>2]=o;k[_>>2]=(k[_>>2]|0)+1}break}w=(o|0)==2?0:o+1|0;s=(w|0)==2?0:w+1|0;I=g-(k[d+(w<<2)>>2]|0)|0;C=g-(k[d+(s<<2)>>2]|0)|0;B=k[f>>2]|0;D=B+4|0;E=B+8|0;F=ba+(o<<2)|0;G=(J|0)<33;H=(J|0)>0;m=c+(o<<2)|0;n=(I|0)==0;l=ba+(w<<2)|0;o=c+(w<<2)|0;p=(C|0)==0;e=ba+(s<<2)|0;q=c+(s<<2)|0;s=ba+(s<<2)|0;t=(C|0)<33;u=(C|0)>0;v=32-C|0;w=ba+(w<<2)|0;x=(I|0)<33;y=(I|0)>0;z=32-I|0;A=32-J|0;j=0;do{k[ba>>2]=0;k[ba+4>>2]=0;k[ba+8>>2]=0;if(!G){g=21;break a}if(!H){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<>>A;k[F>>2]=g;i=i+J|0;k[L>>2]=i;if((i|0)==32){k[M>>2]=b+4;k[L>>2]=0}}else{fa=J-g|0;k[L>>2]=fa;i=b+4|0;k[M>>2]=i;b=32-fa|0;g=(k[i>>2]|0)>>>b|h>>>(b-g|0);k[F>>2]=g}k[F>>2]=g|k[m>>2];do if(!n){if(!x){g=21;break a}if(!y){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=I-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[w>>2]=g;h=w;break}g=h>>>z;k[w>>2]=g;fa=i+I|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=w}else h=w}else{h=l;g=k[l>>2]|0}while(0);k[h>>2]=g|k[o>>2];do if(!p){if(!t){g=21;break a}if(!u){g=23;break a}i=k[L>>2]|0;g=32-i|0;b=k[M>>2]|0;h=k[b>>2]<(g|0)){fa=C-g|0;k[L>>2]=fa;b=b+4|0;k[M>>2]=b;fa=32-fa|0;g=(k[b>>2]|0)>>>fa|h>>>(fa-g|0);k[s>>2]=g;h=s;break}g=h>>>v;k[s>>2]=g;fa=i+C|0;k[L>>2]=fa;if((fa|0)==32){k[M>>2]=b+4;k[L>>2]=0;h=s}else h=s}else{h=e;g=k[e>>2]|0}while(0);k[h>>2]=g|k[q>>2];g=k[D>>2]|0;if((g|0)==(k[E>>2]|0))Cf(B,ba);else{k[g>>2]=k[ba>>2];k[g+4>>2]=k[N>>2];k[g+8>>2]=k[O>>2];k[D>>2]=g+12}j=j+1|0}while(j>>>0>>0)}while(0);g=k[_>>2]|0;if(!g){g=50;break}l=k[X>>2]|0}if((g|0)==15)Ja(9959,9997,231,10067);else if((g|0)==21)Ja(10080,10104,111,10131);else if((g|0)==23)Ja(10160,10104,112,10131);else if((g|0)==50){lf(da);r=ea;return}}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=r;r=r+912|0;h=z+908|0;s=z;t=z+904|0;u=z+900|0;v=z+896|0;w=z+892|0;x=z+888|0;y=z+884|0;j=z+880|0;m=z+876|0;n=z+872|0;o=z+868|0;p=z+864|0;g=b+8|0;B=g;e=k[B>>2]|0;B=k[B+4>>2]|0;q=b+16|0;f=q;d=k[f>>2]|0;f=Vj(d|0,k[f+4>>2]|0,4,0)|0;A=M;if((B|0)<(A|0)|(B|0)==(A|0)&e>>>0>>0){B=0;r=z;return B|0}B=(k[b>>2]|0)+d|0;B=l[B>>0]|l[B+1>>0]<<8|l[B+2>>0]<<16|l[B+3>>0]<<24;i[a>>0]=B;i[a+1>>0]=B>>8;i[a+2>>0]=B>>16;i[a+3>>0]=B>>24;B=q;f=k[B>>2]|0;B=k[B+4>>2]|0;d=Vj(f|0,B|0,4,0)|0;e=q;k[e>>2]=d;k[e+4>>2]=M;e=g;A=k[e>>2]|0;e=k[e+4>>2]|0;B=Vj(f|0,B|0,8,0)|0;f=M;if((e|0)<(f|0)|(e|0)==(f|0)&A>>>0>>0){B=0;r=z;return B|0}B=a+4|0;e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[B>>0]=e;i[B+1>>0]=e>>8;i[B+2>>0]=e>>16;i[B+3>>0]=e>>24;B=q;e=k[B>>2]|0;B=k[B+4>>2]|0;d=Vj(e|0,B|0,4,0)|0;f=q;k[f>>2]=d;k[f+4>>2]=M;f=a+12|0;C=g;A=k[C>>2]|0;C=k[C+4>>2]|0;B=Vj(e|0,B|0,8,0)|0;e=M;if((C|0)<(e|0)|(C|0)==(e|0)&A>>>0>>0){C=0;r=z;return C|0}e=(k[b>>2]|0)+d|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;i[f>>0]=e;i[f+1>>0]=e>>8;i[f+2>>0]=e>>16;i[f+3>>0]=e>>24;C=q;A=k[C>>2]|0;C=k[C+4>>2]|0;d=Vj(A|0,C|0,4,0)|0;B=q;k[B>>2]=d;k[B+4>>2]=M;B=k[g>>2]|0;g=k[g+4>>2]|0;C=Vj(A|0,C|0,8,0)|0;A=M;if((g|0)<(A|0)|(g|0)==(A|0)&B>>>0>>0){C=0;r=z;return C|0}B=a+16|0;d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[B>>0]=d;i[B+1>>0]=d>>8;i[B+2>>0]=d>>16;i[B+3>>0]=d>>24;B=q;B=Vj(k[B>>2]|0,k[B+4>>2]|0,4,0)|0;C=q;k[C>>2]=B;k[C+4>>2]=M;a:do if(e|0)do switch(d|0){case 0:{rg(c,e);Pi(s);k[t>>2]=c;k[h>>2]=k[t>>2];Gd(s,b,h)|0;Qh(s+68|0);Qh(s+48|0);Qh(s+28|0);Qh(s+8|0);break a}case 1:{rg(c,e);Pi(s);k[u>>2]=c;k[h>>2]=k[u>>2];Gd(s,b,h)|0;Qh(s+68|0);Qh(s+48|0);Qh(s+28|0);Qh(s+8|0);break a}case 2:{rg(c,e);Qi(s);k[v>>2]=c;k[h>>2]=k[v>>2];Hd(s,b,h)|0;Qh(s+64|0);Qh(s+44|0);Qh(s+24|0);Il(s+8|0);break a}case 3:{rg(c,e);Qi(s);k[w>>2]=c;k[h>>2]=k[w>>2];Hd(s,b,h)|0;Qh(s+64|0);Qh(s+44|0);Qh(s+24|0);Il(s+8|0);break a}case 4:{rg(c,e);Ai(s);k[x>>2]=c;k[h>>2]=k[x>>2];sd(s,b,h)|0;Qh(s+576|0);Qh(s+556|0);Qh(s+536|0);Il(s+520|0);Cg(s+8|0);break a}case 5:{rg(c,e);Ai(s);k[y>>2]=c;k[h>>2]=k[y>>2];sd(s,b,h)|0;Qh(s+576|0);Qh(s+556|0);Qh(s+536|0);Il(s+520|0);Cg(s+8|0);break a}case 6:{rg(c,e);Ai(s);k[j>>2]=c;k[h>>2]=k[j>>2];rd(s,b,h)|0;Qh(s+576|0);Qh(s+556|0);Qh(s+536|0);Il(s+520|0);Cg(s+8|0);break a}case 7:{rg(c,e);Ai(s);k[m>>2]=c;k[h>>2]=k[m>>2];rd(s,b,h)|0;Qh(s+576|0);Qh(s+556|0);Qh(s+536|0);Il(s+520|0);Cg(s+8|0);break a}case 8:{rg(c,e);vi(s);k[n>>2]=c;k[h>>2]=k[n>>2];pd(s,b,h)|0;Qh(s+840|0);Qh(s+820|0);Qh(s+800|0);hl(s+776|0);ff(s+8|0);break a}case 9:{rg(c,e);vi(s);k[o>>2]=c;k[h>>2]=k[o>>2];pd(s,b,h)|0;Qh(s+840|0);Qh(s+820|0);Qh(s+800|0);hl(s+776|0);ff(s+8|0);break a}default:{rg(c,e);vi(s);k[p>>2]=c;k[h>>2]=k[p>>2];od(s,b,h)|0;Qh(s+840|0);Qh(s+820|0);Qh(s+800|0);hl(s+776|0);ff(s+8|0);break a}}while(0);while(0);if((((k[c+4>>2]|0)-(k[c>>2]|0)|0)/12|0|0)==(k[f>>2]|0)){C=1;r=z;return C|0}else Ja(9821,9864,117,9928);return 0}function ub(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!a)return;c=a+-8|0;g=k[3598]|0;if(c>>>0>>0)ya();a=k[a+-4>>2]|0;b=a&3;if((b|0)==1)ya();d=a&-8;n=c+d|0;do if(!(a&1)){a=k[c>>2]|0;if(!b)return;j=c+(0-a)|0;i=a+d|0;if(j>>>0>>0)ya();if((j|0)==(k[3599]|0)){a=n+4|0;b=k[a>>2]|0;if((b&3|0)!=3){q=j;e=i;break}k[3596]=i;k[a>>2]=b&-2;k[j+4>>2]=i|1;k[j+i>>2]=i;return}d=a>>>3;if(a>>>0<256){b=k[j+8>>2]|0;c=k[j+12>>2]|0;a=14416+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)ya();if((k[b+12>>2]|0)!=(j|0))ya()}if((c|0)==(b|0)){k[3594]=k[3594]&~(1<>>0>>0)ya();a=c+8|0;if((k[a>>2]|0)==(j|0))f=a;else ya()}else f=c+8|0;k[b+12>>2]=c;k[f>>2]=b;q=j;e=i;break}f=k[j+24>>2]|0;c=k[j+12>>2]|0;do if((c|0)==(j|0)){c=j+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){h=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0>>0)ya();else{k[b>>2]=0;h=a;break}}else{d=k[j+8>>2]|0;if(d>>>0>>0)ya();a=d+12|0;if((k[a>>2]|0)!=(j|0))ya();b=c+8|0;if((k[b>>2]|0)==(j|0)){k[a>>2]=c;k[b>>2]=d;h=c;break}else ya()}while(0);if(f){a=k[j+28>>2]|0;b=14680+(a<<2)|0;if((j|0)==(k[b>>2]|0)){k[b>>2]=h;if(!h){k[3595]=k[3595]&~(1<>>0<(k[3598]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(j|0))k[a>>2]=h;else k[f+20>>2]=h;if(!h){q=j;e=i;break}}c=k[3598]|0;if(h>>>0>>0)ya();k[h+24>>2]=f;a=j+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[h+16>>2]=b;k[b+24>>2]=h;break}while(0);a=k[a+4>>2]|0;if(a)if(a>>>0<(k[3598]|0)>>>0)ya();else{k[h+20>>2]=a;k[a+24>>2]=h;q=j;e=i;break}else{q=j;e=i}}else{q=j;e=i}}else{q=c;e=d}while(0);if(q>>>0>=n>>>0)ya();a=n+4|0;b=k[a>>2]|0;if(!(b&1))ya();if(!(b&2)){if((n|0)==(k[3600]|0)){p=(k[3597]|0)+e|0;k[3597]=p;k[3600]=q;k[q+4>>2]=p|1;if((q|0)!=(k[3599]|0))return;k[3599]=0;k[3596]=0;return}if((n|0)==(k[3599]|0)){p=(k[3596]|0)+e|0;k[3596]=p;k[3599]=q;k[q+4>>2]=p|1;k[q+p>>2]=p;return}e=(b&-8)+e|0;d=b>>>3;do if(b>>>0>=256){f=k[n+24>>2]|0;a=k[n+12>>2]|0;do if((a|0)==(n|0)){c=n+16|0;b=c+4|0;a=k[b>>2]|0;if(!a){a=k[c>>2]|0;if(!a){m=0;break}else b=c}while(1){c=a+20|0;d=k[c>>2]|0;if(d|0){a=d;b=c;continue}c=a+16|0;d=k[c>>2]|0;if(!d)break;else{a=d;b=c}}if(b>>>0<(k[3598]|0)>>>0)ya();else{k[b>>2]=0;m=a;break}}else{b=k[n+8>>2]|0;if(b>>>0<(k[3598]|0)>>>0)ya();c=b+12|0;if((k[c>>2]|0)!=(n|0))ya();d=a+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=a;k[d>>2]=b;m=a;break}else ya()}while(0);if(f|0){a=k[n+28>>2]|0;b=14680+(a<<2)|0;if((n|0)==(k[b>>2]|0)){k[b>>2]=m;if(!m){k[3595]=k[3595]&~(1<>>0<(k[3598]|0)>>>0)ya();a=f+16|0;if((k[a>>2]|0)==(n|0))k[a>>2]=m;else k[f+20>>2]=m;if(!m)break}c=k[3598]|0;if(m>>>0>>0)ya();k[m+24>>2]=f;a=n+16|0;b=k[a>>2]|0;do if(b|0)if(b>>>0>>0)ya();else{k[m+16>>2]=b;k[b+24>>2]=m;break}while(0);a=k[a+4>>2]|0;if(a|0)if(a>>>0<(k[3598]|0)>>>0)ya();else{k[m+20>>2]=a;k[a+24>>2]=m;break}}}else{b=k[n+8>>2]|0;c=k[n+12>>2]|0;a=14416+(d<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(k[3598]|0)>>>0)ya();if((k[b+12>>2]|0)!=(n|0))ya()}if((c|0)==(b|0)){k[3594]=k[3594]&~(1<>>0<(k[3598]|0)>>>0)ya();a=c+8|0;if((k[a>>2]|0)==(n|0))l=a;else ya()}else l=c+8|0;k[b+12>>2]=c;k[l>>2]=b}while(0);k[q+4>>2]=e|1;k[q+e>>2]=e;if((q|0)==(k[3599]|0)){k[3596]=e;return}}else{k[a>>2]=b&-2;k[q+4>>2]=e|1;k[q+e>>2]=e}a=e>>>3;if(e>>>0<256){c=14416+(a<<1<<2)|0;b=k[3594]|0;a=1<>2]|0;if(b>>>0<(k[3598]|0)>>>0)ya();else{o=b;p=a}}else{k[3594]=b|a;o=c;p=c+8|0}k[p>>2]=q;k[o+12>>2]=q;k[q+8>>2]=o;k[q+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)a=31;else{o=(a+1048320|0)>>>16&8;p=a<>>16&4;p=p<>>16&2;a=14-(n|o|a)+(p<>>15)|0;a=e>>>(a+7|0)&1|a<<1}else a=0;d=14680+(a<<2)|0;k[q+28>>2]=a;k[q+20>>2]=0;k[q+16>>2]=0;b=k[3595]|0;c=1<>>1)|0);d=k[d>>2]|0;while(1){if((k[d+4>>2]&-8|0)==(e|0)){a=130;break}c=d+16+(b>>>31<<2)|0;a=k[c>>2]|0;if(!a){a=127;break}else{b=b<<1;d=a}}if((a|0)==127)if(c>>>0<(k[3598]|0)>>>0)ya();else{k[c>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q;break}else if((a|0)==130){a=d+8|0;b=k[a>>2]|0;p=k[3598]|0;if(b>>>0>=p>>>0&d>>>0>=p>>>0){k[b+12>>2]=q;k[a>>2]=q;k[q+8>>2]=b;k[q+12>>2]=d;k[q+24>>2]=0;break}else ya()}}else{k[3595]=b|c;k[d>>2]=q;k[q+24>>2]=d;k[q+12>>2]=q;k[q+8>>2]=q}while(0);q=(k[3602]|0)+-1|0;k[3602]=q;if(!q)a=14832;else return;while(1){a=k[a>>2]|0;if(!a)break;else a=a+8|0}k[3602]=-1;return}function vb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;k[M>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;C=1-g+f|0;k[a+20>>2]=C;f=(C|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(C&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);p=k[a+48>>2]|0;q=k[a+52>>2]|0;r=e>>>0>1073741823?-1:e<<2;C=Cl(r)|0;Jh(C|0,0,r|0)|0;r=a+56|0;i=k[r>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){s=(e|0)>0;t=a+16|0;u=a+32|0;v=a+12|0;w=a+28|0;x=a+20|0;y=a+24|0;z=p+64|0;A=p+28|0;B=e<<2;n=f>>2;f=i;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0)break;m=k[g+(o<<2)>>2]|0;if(s)Jh(C|0,0,B|0)|0;if((m|0)>-1){d=k[p>>2]|0;f=0;l=m;while(1){do if(((k[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(D=k[(k[(k[z>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(D|0)>-1):0)?(G=k[A>>2]|0,j=k[q>>2]|0,E=k[j+(k[G+(D<<2)>>2]<<2)>>2]|0,F=D+1|0,F=k[j+(k[G+((((F|0)%3|0|0)==0?D+-2|0:F)<<2)>>2]<<2)>>2]|0,G=k[j+(k[G+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(E|0)<(o|0)&(F|0)<(o|0)&(G|0)<(o|0)):0){h=$(E,e)|0;i=$(F,e)|0;j=$(G,e)|0;if(s)g=0;else{f=f+1|0;K=34;break}do{N=C+(g<<2)|0;k[N>>2]=(k[b+(g+j<<2)>>2]|0)+(k[b+(g+i<<2)>>2]|0)-(k[b+(g+h<<2)>>2]|0)+(k[N>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((l|0)<0){g=f;f=l}else K=34}else K=34;while(0);do if((K|0)==34){K=0;if(!((l>>>0)%3|0)){g=f;f=l+2|0;break}else{g=f;f=l+-1|0;break}}while(0);do if(!(1<<(f&31)&k[d+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[z>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(m|0)?-1073741824:f;if((l|0)<=-1)break;else f=g}d=$(o,e)|0;if(g){if(s){f=0;do{N=C+(f<<2)|0;k[N>>2]=(k[N>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[M>>2]|0)>0){j=0;do{i=k[C+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[w>>2]|0)){if((h|0)>(k[y>>2]|0))k[g>>2]=h-(k[x>>2]|0)}else k[g>>2]=(k[x>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}}else{I=d;K=46}}else{I=$(o,e)|0;K=46}if((K|0)==46?(K=0,H=b+(I<<2)|0,J=b+(($(n+-2|0,e)|0)<<2)|0,(k[M>>2]|0)>0):0){j=0;do{i=k[J+(j<<2)>>2]|0;f=k[t>>2]|0;do if((i|0)<=(f|0)){f=k[v>>2]|0;g=k[u>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[u>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+I<<2)>>2]=(k[H+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+I<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[w>>2]|0)){if((h|0)>(k[y>>2]|0))k[g>>2]=h-(k[x>>2]|0)}else k[g>>2]=(k[x>>2]|0)+h;f=f+1|0}while((f|0)<(k[M>>2]|0))}}}if((o|0)<=1){L=C;break a}f=k[r>>2]|0;n=o;g=k[f>>2]|0;h=k[f+4>>2]|0}Jk(f)}else L=C;while(0);if((e|0)>0)Jh(C|0,0,e<<2|0)|0;if((k[M>>2]|0)<=0){Dl(C);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[L+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[M>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{Dl(C);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[M>>2]|0}while((f|0)<(g|0));if((g|0)<=0){Dl(C);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[M>>2]|0));Dl(C);return 1}function wb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;K=a+8|0;k[K>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;E=1-g+f|0;k[a+20>>2]=E;f=(E|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(E&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);s=k[a+48>>2]|0;t=k[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;E=Cl(u)|0;Jh(E|0,0,u|0)|0;u=a+56|0;i=k[u>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;z=a+28|0;A=a+20|0;B=a+24|0;C=s+12|0;D=e<<2;q=f>>2;f=i;while(1){r=q+-1|0;if(h-g>>2>>>0<=r>>>0)break;p=k[g+(r<<2)>>2]|0;if(v)Jh(E|0,0,D|0)|0;if((p|0)>-1){o=k[C>>2]|0;m=0;n=p;while(1){g=k[o+(n<<2)>>2]|0;if((g|0)>-1){i=k[s>>2]|0;h=(g>>>0)%3|0;l=k[t>>2]|0;d=k[l+(k[i+(((g>>>0)/3|0)*12|0)+(h<<2)>>2]<<2)>>2]|0;f=g+1|0;f=((f|0)%3|0|0)==0?g+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[l+(f<<2)>>2]|0;f=((h|0)==0?2:-1)+g|0;if((f|0)<0)f=-1073741824;else f=k[i+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[l+(f<<2)>>2]|0;if((d|0)<(r|0)&(j|0)<(r|0)&(f|0)<(r|0)){i=$(d,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(v){f=0;do{d=E+(f<<2)|0;k[d>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0)+(k[d>>2]|0);f=f+1|0}while((f|0)!=(e|0))}g=m+1|0}else g=m}else g=m;f=(((n>>>0)%3|0|0)==0?2:-1)+n|0;do if((f|0)>=0){f=k[o+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}while(0);n=(f|0)==(p|0)?-1073741824:f;if((n|0)<=-1)break;else m=g}d=$(r,e)|0;if(g){if(v){f=0;do{p=E+(f<<2)|0;k[p>>2]=(k[p>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[K>>2]|0)>0){j=0;do{i=k[E+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[z>>2]|0)){if((h|0)>(k[B>>2]|0))k[g>>2]=h-(k[A>>2]|0)}else k[g>>2]=(k[A>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}}else{G=d;I=44}}else{G=$(r,e)|0;I=44}if((I|0)==44?(I=0,F=b+(G<<2)|0,H=b+(($(q+-2|0,e)|0)<<2)|0,(k[K>>2]|0)>0):0){j=0;do{i=k[H+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+G<<2)>>2]=(k[F+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+G<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[z>>2]|0)){if((h|0)>(k[B>>2]|0))k[g>>2]=h-(k[A>>2]|0)}else k[g>>2]=(k[A>>2]|0)+h;f=f+1|0}while((f|0)<(k[K>>2]|0))}}}if((r|0)<=1){J=E;break a}f=k[u>>2]|0;q=r;g=k[f>>2]|0;h=k[f+4>>2]|0}Jk(f)}else J=E;while(0);if((e|0)>0)Jh(E|0,0,e<<2|0)|0;if((k[K>>2]|0)<=0){Dl(E);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[J+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[K>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{Dl(E);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[K>>2]|0}while((f|0)<(g|0));if((g|0)<=0){Dl(E);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[K>>2]|0));Dl(E);return 1}function xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+208|0;t=z+168|0;v=z+36|0;u=z;p=z+136|0;s=z+104|0;w=z+32|0;x=a+4|0;l=k[x>>2]|0;c=k[l+20>>2]|0;f=c+8|0;e=k[f>>2]|0;f=k[f+4>>2]|0;g=c+16|0;j=g;h=k[j>>2]|0;j=k[j+4>>2]|0;if(!((f|0)>(j|0)|(f|0)==(j|0)&e>>>0>h>>>0)){y=0;r=z;return y|0}c=k[c>>2]|0;m=i[c+h>>0]|0;d=Vj(h|0,j|0,1,0)|0;q=M;o=g;k[o>>2]=d;k[o+4>>2]=q;if(!((f|0)>(q|0)|(f|0)==(q|0)&e>>>0>d>>>0)){y=0;r=z;return y|0}e=i[c+d>>0]|0;o=Vj(h|0,j|0,2,0)|0;q=g;k[q>>2]=o;k[q+4>>2]=M;do if(m<<24>>24>-1){c=m<<24>>24;d=k[a+228>>2]|0;if(c>>>0<(((k[a+232>>2]|0)-d|0)/116|0)>>>0){k[d+(c*116|0)>>2]=b;break}else{y=0;r=z;return y|0}}while(0);q=k[l+24>>2]|0;c=m<<24>>24<0;if(!(e<<24>>24)){if(c)g=a+200|0;else{g=m<<24>>24;s=k[a+228>>2]|0;i[s+(g*116|0)+72>>0]=0;g=s+(g*116|0)+76|0}c=bj(88)|0;k[c+4>>2]=0;k[c>>2]=4580;h=c+12|0;k[h>>2]=4604;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4604;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));e=k[a+8>>2]|0;k[u>>2]=4604;d=u+4|0;f=d+4|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;f=e;k[d>>2]=f;f=((k[f+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;qf(u+8|0,f,t);Ra[k[(k[u>>2]|0)+8>>2]&127](u);pe(p,u);pe(t,p);k[v>>2]=k[t+4>>2];f=v+4|0;Ee(f,t)|0;k[t>>2]=4604;d=k[t+20>>2]|0;if(d|0)Fl(d);d=k[t+8>>2]|0;if(d|0)Fl(d);k[v+36>>2]=e;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[p>>2]=4604;d=k[p+20>>2]|0;if(d|0)Fl(d);d=k[p+8>>2]|0;if(d|0)Fl(d);k[c+8>>2]=k[v>>2];Ee(h,f)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Fe(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4604;d=k[u+20>>2]|0;if(d|0)Fl(d);d=k[u+8>>2]|0;if(d|0)Fl(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Fl(d)}k[n>>2]=4604;d=k[v+24>>2]|0;if(d|0)Fl(d);d=k[v+12>>2]|0;if(d|0)Fl(d)}else{if(c){y=0;r=z;return y|0}c=bj(88)|0;e=m<<24>>24;d=k[a+228>>2]|0;g=d+(e*116|0)+76|0;k[c+4>>2]=0;k[c>>2]=4624;h=c+12|0;k[h>>2]=4648;j=c+64|0;k[j>>2]=0;k[c+68>>2]=0;k[c+72>>2]=0;f=c+16|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));k[c+76>>2]=q;k[c+80>>2]=g;k[c+84>>2]=0;n=v+4|0;k[n>>2]=4648;l=v+56|0;k[l>>2]=0;o=v+60|0;k[o>>2]=0;k[v+64>>2]=0;f=v+8|0;m=f+44|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(m|0));f=d+(e*116|0)+4|0;k[u>>2]=4648;p=u+4|0;a=p+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[p>>2]=f;e=k[d+(e*116|0)+68>>2]|0;e=((k[e+4>>2]|0)-(k[e>>2]|0)|0)/12|0;i[t>>0]=0;qf(u+8|0,e,t);Ra[k[(k[u>>2]|0)+8>>2]&127](u);ne(s,u);ne(t,s);k[v>>2]=k[t+4>>2];e=v+4|0;Ee(e,t)|0;k[t>>2]=4648;d=k[t+20>>2]|0;if(d|0)Fl(d);d=k[t+8>>2]|0;if(d|0)Fl(d);k[v+36>>2]=f;k[v+40>>2]=g;k[v+44>>2]=q;k[v+48>>2]=c;k[s>>2]=4648;d=k[s+20>>2]|0;if(d|0)Fl(d);d=k[s+8>>2]|0;if(d|0)Fl(d);k[c+8>>2]=k[v>>2];Ee(h,e)|0;d=c+44|0;t=v+36|0;k[d>>2]=k[t>>2];k[d+4>>2]=k[t+4>>2];k[d+8>>2]=k[t+8>>2];k[d+12>>2]=k[t+12>>2];i[d+16>>0]=i[t+16>>0]|0;Fe(j,k[l>>2]|0,k[o>>2]|0);k[u>>2]=4648;d=k[u+20>>2]|0;if(d|0)Fl(d);d=k[u+8>>2]|0;if(d|0)Fl(d);d=k[l>>2]|0;e=d;if(d|0){f=k[o>>2]|0;if((f|0)!=(d|0))k[o>>2]=f+(~((f+-4-e|0)>>>2)<<2);Fl(d)}k[n>>2]=4648;d=k[v+24>>2]|0;if(d|0)Fl(d);d=k[v+12>>2]|0;if(d|0)Fl(d)}j=bj(52)|0;k[w>>2]=c;Th(j,w);c=k[w>>2]|0;k[w>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);h=k[x>>2]|0;g=h+8|0;h=h+12|0;c=k[h>>2]|0;d=k[g>>2]|0;e=c-d>>2;do if((e|0)<=(b|0)){f=b+1|0;if(f>>>0>e>>>0){Te(g,f-e|0);break}if(f>>>0>>0?(y=d+(f<<2)|0,(c|0)!=(y|0)):0)do{x=c+-4|0;k[h>>2]=x;c=k[x>>2]|0;k[x>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[h>>2]|0}while((c|0)!=(y|0))}while(0);y=(k[g>>2]|0)+(b<<2)|0;c=k[y>>2]|0;k[y>>2]=j;if(!c){y=1;r=z;return y|0}Ra[k[(k[c>>2]|0)+4>>2]&127](c);y=1;r=z;return y|0}function yb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+16|0;u=x;v=a+20|0;s=k[v>>2]|0;e=s+8|0;g=k[e>>2]|0;e=k[e+4>>2]|0;h=s+16|0;n=h;m=k[n>>2]|0;n=k[n+4>>2]|0;c=Vj(m|0,n|0,4,0)|0;b=M;if((e|0)<(b|0)|(e|0)==(b|0)&g>>>0>>0){w=0;r=x;return w|0}f=k[s>>2]|0;w=f+m|0;w=l[w>>0]|l[w+1>>0]<<8|l[w+2>>0]<<16|l[w+3>>0]<<24;d=h;k[d>>2]=c;k[d+4>>2]=b;b=Vj(m|0,n|0,8,0)|0;d=M;if((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0){w=0;r=x;return w|0}t=f+c|0;t=l[t>>0]|l[t+1>>0]<<8|l[t+2>>0]<<16|l[t+3>>0]<<24;q=h;k[q>>2]=b;k[q+4>>2]=d;if(!((e|0)>(d|0)|(e|0)==(d|0)&g>>>0>b>>>0)){w=0;r=x;return w|0}q=i[f+b>>0]|0;j=Vj(m|0,n|0,9,0)|0;g=M;p=h;k[p>>2]=j;k[p+4>>2]=g;a:do if(!(q<<24>>24)){if(!(le(a,w)|0)){w=0;r=x;return w|0}}else{if((t|0)<256){if((w|0)<=0)break;n=a+24|0;o=u+4|0;p=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;b=s+8|0;c=k[b>>2]|0;b=k[b+4>>2]|0;b:do if((b|0)>(g|0)|(b|0)==(g|0)&c>>>0>j>>>0){m=0;f=s;h=g;g=b;e=c;do{d=f+16|0;c=k[f>>2]|0;q=i[c+j>>0]|0;b=Vj(j|0,h|0,1,0)|0;s=M;f=d;k[f>>2]=b;k[f+4>>2]=s;k[u>>2]=q&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;q=i[c+b>>0]|0;b=Vj(j|0,h|0,2,0)|0;s=M;f=d;k[f>>2]=b;k[f+4>>2]=s;k[o>>2]=q&255;if(!((g|0)>(s|0)|(g|0)==(s|0)&e>>>0>b>>>0))break b;b=i[c+b>>0]|0;c=Vj(j|0,h|0,3,0)|0;k[d>>2]=c;k[d+4>>2]=M;k[p>>2]=b&255;b=k[n>>2]|0;d=b+84|0;c=k[d>>2]|0;if((c|0)==(k[b+88>>2]|0))fg(b+80|0,u);else{k[c>>2]=k[u>>2];k[c+4>>2]=k[u+4>>2];k[c+8>>2]=k[u+8>>2];k[d>>2]=(k[d>>2]|0)+12}m=m+1|0;if((m|0)>=(w|0))break a;f=k[v>>2]|0;h=f+16|0;j=k[h>>2]|0;h=k[h+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;g=f+8|0;e=k[g>>2]|0;g=k[g+4>>2]|0}while((g|0)>(h|0)|(g|0)==(h|0)&e>>>0>j>>>0)}while(0);w=0;r=x;return w|0}b=(w|0)>0;if((t|0)<65536){if(!b)break;o=a+24|0;p=u+4|0;q=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;e=s+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Vj(m|0,n|0,11,0)|0;c=M;c:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=s;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[u>>2]=d&65535;d=Vj(j|0,g|0,4,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8;s=f;k[s>>2]=d;k[s+4>>2]=c;k[p>>2]=b&65535;b=Vj(j|0,g|0,6,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break c;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d&65535;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fg(d+80|0,u);else{k[b>>2]=k[u>>2];k[b+4>>2]=k[u+4>>2];k[b+8>>2]=k[u+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Vj(j|0,g|0,2,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;r=x;return w|0}else{if(!b)break;o=a+24|0;p=u+4|0;q=u+8|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;e=s+8|0;h=k[e>>2]|0;e=k[e+4>>2]|0;b=Vj(m|0,n|0,13,0)|0;c=M;d:do if(!((e|0)<(c|0)|(e|0)==(c|0)&h>>>0>>0)){n=0;d=s;m=e;do{f=d+16|0;e=k[d>>2]|0;d=e+j|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[u>>2]=d;d=Vj(j|0,g|0,8,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;b=e+b|0;b=l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24;s=f;k[s>>2]=d;k[s+4>>2]=c;k[p>>2]=b;b=Vj(j|0,g|0,12,0)|0;c=M;if((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0)break d;d=e+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;s=f;k[s>>2]=b;k[s+4>>2]=c;k[q>>2]=d;d=k[o>>2]|0;c=d+84|0;b=k[c>>2]|0;if((b|0)==(k[d+88>>2]|0))fg(d+80|0,u);else{k[b>>2]=k[u>>2];k[b+4>>2]=k[u+4>>2];k[b+8>>2]=k[u+8>>2];k[c>>2]=(k[c>>2]|0)+12}n=n+1|0;if((n|0)>=(w|0))break a;d=k[v>>2]|0;g=d+16|0;j=k[g>>2]|0;g=k[g+4>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;m=d+8|0;h=k[m>>2]|0;m=k[m+4>>2]|0;b=Vj(j|0,g|0,4,0)|0;c=M}while(!((m|0)<(c|0)|(m|0)==(c|0)&h>>>0>>0))}while(0);w=0;r=x;return w|0}}while(0);k[(k[a+4>>2]|0)+64>>2]=t;w=1;r=x;return w|0}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0.0,p=0.0,q=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,N=0,O=0;O=r;r=r+48|0;N=O+12|0;H=O+32|0;L=O;I=N+16|0;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;o[I>>2]=1.0;K=a+80|0;Nh(L,k[K>>2]|0);e=k[K>>2]|0;a:do if((e|0)>0){y=b+48|0;z=b+40|0;w=H+2|0;x=H+4|0;A=N+4|0;B=N+12|0;C=N+8|0;D=a+40|0;E=a+64|0;v=k[c>>2]|0;d=0;u=0;q=0;while(1){m=v+u|0;h=y;l=k[h>>2]|0;h=k[h+4>>2]|0;t=z;m=_i(k[t>>2]|0,k[t+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;h=Vj(m|0,M|0,l|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[H>>0]=i[h>>0]|0;i[H+1>>0]=i[h+1>>0]|0;i[H+2>>0]=i[h+2>>0]|0;i[H+3>>0]=i[h+3>>0]|0;i[H+4>>0]=i[h+4>>0]|0;i[H+5>>0]=i[h+5>>0]|0;h=j[H>>1]|0;l=j[w>>1]|0;m=j[x>>1]|0;t=((h&65535^318)+239^l&65535)+239^m&65535;s=(q|0)==0;b:do if(!s){f=q+-1|0;c=(f&q|0)==0;if(c)g=t&f;else g=(t>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(g<<2)>>2]|0;do if(e|0?(F=k[e>>2]|0,F|0):0){c:do if(c){c=F;while(1){if((k[c+4>>2]&f|0)!=(g|0)){e=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}else{c=F;while(1){if((((k[c+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(g|0)){e=22;break c}if(((j[c+8>>1]|0)==h<<16>>16?(j[c+10>>1]|0)==l<<16>>16:0)?(j[c+12>>1]|0)==m<<16>>16:0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[L>>2]|0)+(u<<2)>>2]=k[c+16>>2];break b}else if((e|0)==22)if(s){c=0;e=39;break b}else break}while(0);g=q+-1|0;f=(g&q|0)==0;if(f)c=g&t;else c=(t>>>0)%(q>>>0)|0;e=k[(k[N>>2]|0)+(c<<2)>>2]|0;if((e|0)!=0?(G=k[e>>2]|0,(G|0)!=0):0)if(f){e=G;while(1){if((k[e+4>>2]&g|0)!=(c|0)){e=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=G;while(1){if((((k[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(c|0)){e=39;break b}if(((j[e+8>>1]|0)==h<<16>>16?(j[e+10>>1]|0)==l<<16>>16:0)?(j[e+12>>1]|0)==m<<16>>16:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{c=0;e=39}while(0);if((e|0)==39){g=bj(20)|0;j[g+8>>1]=h;j[g+10>>1]=l;j[g+12>>1]=m;k[g+16>>2]=d;k[g+4>>2]=t;k[g>>2]=0;n=+(((k[B>>2]|0)+1|0)>>>0);p=+o[I>>2];do if(s|n>+(q>>>0)*p){c=(q>>>0>2&(q+-1&q|0)==0&1|q<<1)^1;e=~~+_(+(n/p))>>>0;Nf(N,c>>>0>>0?e:c);c=k[A>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&t;break}else{f=c;c=(t>>>0)%(c>>>0)|0;break}}else f=q;while(0);c=(k[N>>2]|0)+(c<<2)|0;e=k[c>>2]|0;if(!e){k[g>>2]=k[C>>2];k[C>>2]=g;k[c>>2]=C;c=k[g>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;k[(k[N>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[B>>2]=(k[B>>2]|0)+1;e=51}if((e|0)==51){s=D;t=k[s>>2]|0;s=_i(t|0,k[s+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Ah((k[k[E>>2]>>2]|0)+s|0,H|0,t|0)|0;k[(k[L>>2]|0)+(u<<2)>>2]=d;d=d+1|0}c=u+1|0;e=k[K>>2]|0;if((c|0)>=(e|0)){m=d;break a}u=c;q=k[A>>2]|0}}else m=0;while(0);if((m|0)!=(e|0)){l=a+84|0;if(!(i[l>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[L>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[l>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(J=g+(e<<2)|0,(h|0)!=(J|0)):0)k[d>>2]=h+(~((h+-4-J|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[K>>2]|0}if((e|0)>0){f=k[L>>2]|0;if(i[l>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[K>>2]=m}e=k[L>>2]|0;f=e;if(e|0){c=L+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[N+8>>2]|0;if(c|0)do{L=c;c=k[c>>2]|0;Fl(L)}while((c|0)!=0);c=k[N>>2]|0;k[N>>2]=0;if(!c){r=O;return m|0}Fl(c);r=O;return m|0}function Ab(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=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;A=a+8|0;k[A>>2]=e;h=a+32|0;i=a+36|0;g=k[i>>2]|0;f=k[h>>2]|0;d=g-f>>2;if(d>>>0>=e>>>0)if(d>>>0>e>>>0?(j=f+(e<<2)|0,(g|0)!=(j|0)):0){k[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);d=e}else d=e;else{kg(h,e-d|0);d=k[A>>2]|0}y=e>>>0>1073741823?-1:e<<2;z=Cl(y)|0;Jh(z|0,0,y|0)|0;if((d|0)>0){l=a+16|0;j=a+32|0;m=a+12|0;i=0;do{h=k[z+(i<<2)>>2]|0;d=k[l>>2]|0;do if((h|0)<=(d|0)){d=k[m>>2]|0;f=k[j>>2]|0;g=f+(i<<2)|0;if((h|0)<(d|0)){k[g>>2]=d;g=f;break}else{k[g>>2]=h;g=f;break}}else{g=k[j>>2]|0;k[g+(i<<2)>>2]=d}while(0);i=i+1|0;d=k[A>>2]|0}while((i|0)<(d|0));if((d|0)>0){d=0;do{k[c+(d<<2)>>2]=(k[b+(d<<2)>>2]|0)+(k[g+(d<<2)>>2]|0);d=d+1|0;f=k[A>>2]|0}while((d|0)<(f|0));if((f|0)>0){f=a+20|0;d=0;do{g=c+(d<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[l>>2]|0)){if((h|0)<(k[m>>2]|0))k[g>>2]=(k[f>>2]|0)+h}else k[g>>2]=h-(k[f>>2]|0);d=d+1|0}while((d|0)<(k[A>>2]|0))}}}r=k[a+48>>2]|0;s=a+56|0;f=k[s>>2]|0;h=k[f+4>>2]|0;g=k[f>>2]|0;y=h-g|0;t=y>>2;if((y|0)<=4){Dl(z);return 1}u=k[a+52>>2]|0;v=(e|0)>0;w=a+16|0;x=a+32|0;y=a+12|0;n=a+20|0;o=r+64|0;p=r+28|0;q=e<<2;d=1;while(1){if(h-g>>2>>>0<=d>>>0){I=28;break}a=k[g+(d<<2)>>2]|0;if(v)Jh(z|0,0,q|0)|0;if((a|0)>-1){m=k[r>>2]|0;f=0;l=a;while(1){do if(((k[m+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(B=k[(k[(k[o>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(B|0)>-1):0)?(E=k[p>>2]|0,j=k[u>>2]|0,C=k[j+(k[E+(B<<2)>>2]<<2)>>2]|0,D=B+1|0,D=k[j+(k[E+((((D|0)%3|0|0)==0?B+-2|0:D)<<2)>>2]<<2)>>2]|0,E=k[j+(k[E+((((B>>>0)%3|0|0)==0?2:-1)+B<<2)>>2]<<2)>>2]|0,(C|0)<(d|0)&(D|0)<(d|0)&(E|0)<(d|0)):0){h=$(C,e)|0;i=$(D,e)|0;j=$(E,e)|0;if(v)g=0;else{f=f+1|0;I=40;break}do{J=z+(g<<2)|0;k[J>>2]=(k[c+(g+j<<2)>>2]|0)+(k[c+(g+i<<2)>>2]|0)-(k[c+(g+h<<2)>>2]|0)+(k[J>>2]|0);g=g+1|0}while((g|0)!=(e|0));f=f+1|0;if((l|0)<0){g=f;f=l}else I=40}else I=40;while(0);do if((I|0)==40){I=0;if(!((l>>>0)%3|0)){g=f;f=l+2|0;break}else{g=f;f=l+-1|0;break}}while(0);do if(!(1<<(f&31)&k[m+(f>>>5<<2)>>2])){if((f|0)>=0){f=k[(k[(k[o>>2]|0)+12>>2]|0)+(f<<2)>>2]|0;if((f|0)>=0)if(!((f>>>0)%3|0)){f=f+2|0;break}else{f=f+-1|0;break}}}else f=-1073741824;while(0);l=(f|0)==(a|0)?-1073741824:f;if((l|0)<=-1)break;else f=g}l=$(d,e)|0;if(g){if(v){f=0;do{J=z+(f<<2)|0;k[J>>2]=(k[J>>2]|0)/(g|0)|0;f=f+1|0}while((f|0)!=(e|0))}m=c+(l<<2)|0;if((k[A>>2]|0)>0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[A>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[m+(f<<2)>>2]=(k[b+(f+l<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[A>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=m+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[w>>2]|0)){if((h|0)<(k[y>>2]|0))k[g>>2]=(k[n>>2]|0)+h}else k[g>>2]=h-(k[n>>2]|0);f=f+1|0}while((f|0)<(k[A>>2]|0))}}}}else{H=l;I=52}}else{H=$(d,e)|0;I=52}if((I|0)==52?(I=0,F=c+(($(d+-1|0,e)|0)<<2)|0,G=c+(H<<2)|0,(k[A>>2]|0)>0):0){j=0;do{i=k[F+(j<<2)>>2]|0;f=k[w>>2]|0;do if((i|0)<=(f|0)){f=k[y>>2]|0;g=k[x>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[x>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[A>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[G+(f<<2)>>2]=(k[b+(f+H<<2)>>2]|0)+(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[A>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=G+(f<<2)|0;h=k[g>>2]|0;if((h|0)<=(k[w>>2]|0)){if((h|0)<(k[y>>2]|0))k[g>>2]=(k[n>>2]|0)+h}else k[g>>2]=h-(k[n>>2]|0);f=f+1|0}while((f|0)<(k[A>>2]|0))}}}d=d+1|0;if((d|0)>=(t|0)){I=25;break}f=k[s>>2]|0;g=k[f>>2]|0;h=k[f+4>>2]|0}if((I|0)==25){Dl(z);return 1}else if((I|0)==28)Jk(f);return 0}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0,n=0.0,p=0,q=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,N=0;N=r;r=r+48|0;L=N+12|0;G=N+32|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=1.0;J=a+80|0;Nh(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;v=G+1|0;w=G+2|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;u=k[c>>2]|0;c=0;t=0;p=0;while(1){l=u+c|0;h=x;j=k[h>>2]|0;h=k[h+4>>2]|0;s=y;l=_i(k[s>>2]|0,k[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;h=Vj(l|0,M|0,j|0,h|0)|0;h=(k[k[b>>2]>>2]|0)+h|0;i[G>>0]=i[h>>0]|0;i[G+1>>0]=i[h+1>>0]|0;i[G+2>>0]=i[h+2>>0]|0;h=i[G>>0]|0;j=i[v>>0]|0;l=i[w>>0]|0;s=((h&255^318)+239^j&255)+239^l&255;q=(p|0)==0;b:do if(!q){f=p+-1|0;d=(f&p|0)==0;if(d)g=s&f;else g=(s>>>0)%(p>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(d){d=E;while(1){if((k[d+4>>2]&f|0)!=(g|0)){e=22;break c}if(((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==l<<24>>24:0){e=21;break c}d=k[d>>2]|0;if(!d){e=22;break}}}else{d=E;while(1){if((((k[d+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(g|0)){e=22;break c}if(((i[d+8>>0]|0)==h<<24>>24?(i[d+9>>0]|0)==j<<24>>24:0)?(i[d+10>>0]|0)==l<<24>>24:0){e=21;break c}d=k[d>>2]|0;if(!d){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[K>>2]|0)+(c<<2)>>2]=k[d+12>>2];d=t;break b}else if((e|0)==22)if(q){d=0;e=39;break b}else break}while(0);g=p+-1|0;f=(g&p|0)==0;if(f)d=g&s;else d=(s>>>0)%(p>>>0)|0;e=k[(k[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(F=k[e>>2]|0,(F|0)!=0):0)if(f){e=F;while(1){if((k[e+4>>2]&g|0)!=(d|0)){e=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){e=39;break b}if(((i[e+8>>0]|0)==h<<24>>24?(i[e+9>>0]|0)==j<<24>>24:0)?(i[e+10>>0]|0)==l<<24>>24:0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{d=0;e=39}while(0);if((e|0)==39){g=bj(16)|0;i[g+8>>0]=h;i[g+9>>0]=j;i[g+10>>0]=l;k[g+12>>2]=t;k[g+4>>2]=s;k[g>>2]=0;m=+(((k[A>>2]|0)+1|0)>>>0);n=+o[H>>2];do if(q|m>+(p>>>0)*n){d=(p>>>0>2&(p+-1&p|0)==0&1|p<<1)^1;e=~~+_(+(m/n))>>>0;Uf(L,d>>>0>>0?e:d);d=k[z>>2]|0;e=d+-1|0;if(!(e&d)){f=d;d=e&s;break}else{f=d;d=(s>>>0)%(d>>>0)|0;break}}else f=p;while(0);d=(k[L>>2]|0)+(d<<2)|0;e=k[d>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[d>>2]=B;d=k[g>>2]|0;if(d|0){d=k[d+4>>2]|0;e=f+-1|0;if(!(e&f))d=d&e;else d=(d>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(d<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=51}if((e|0)==51){s=C;d=k[s>>2]|0;s=_i(d|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Ah((k[k[D>>2]>>2]|0)+s|0,G|0,d|0)|0;k[(k[K>>2]|0)+(c<<2)>>2]=t;d=t+1|0}c=c+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=d;p=k[z>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=l}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;Fl(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return l|0}Fl(c);r=N;return l|0}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0,n=0.0,p=0,q=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,N=0;N=r;r=r+48|0;L=N+24|0;G=N+12|0;K=N;H=L+16|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;o[H>>2]=1.0;J=a+80|0;Nh(K,k[J>>2]|0);e=k[J>>2]|0;a:do if((e|0)>0){x=b+48|0;y=b+40|0;v=G+4|0;w=G+8|0;z=L+4|0;A=L+12|0;B=L+8|0;C=a+40|0;D=a+64|0;u=k[c>>2]|0;d=0;t=0;s=0;while(1){f=u+t|0;e=x;c=k[e>>2]|0;e=k[e+4>>2]|0;q=y;f=_i(k[q>>2]|0,k[q+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;e=Vj(f|0,M|0,c|0,e|0)|0;c=G;e=(k[k[b>>2]>>2]|0)+e|0;f=c+12|0;do{i[c>>0]=i[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(f|0));h=k[G>>2]|0;j=k[v>>2]|0;l=k[w>>2]|0;q=((h^318)+239^j)+239^l;p=(s|0)==0;b:do if(!p){f=s+-1|0;c=(f&s|0)==0;if(c)g=q&f;else g=(q>>>0)%(s>>>0)|0;e=k[(k[L>>2]|0)+(g<<2)>>2]|0;do if(e|0?(E=k[e>>2]|0,E|0):0){c:do if(c){c=E;while(1){if((k[c+4>>2]&f|0)!=(g|0)){e=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}else{c=E;while(1){if((((k[c+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(g|0)){e=22;break c}if(((k[c+8>>2]|0)==(h|0)?(k[c+12>>2]|0)==(j|0):0)?(k[c+16>>2]|0)==(l|0):0){e=21;break c}c=k[c>>2]|0;if(!c){e=22;break}}}while(0);if((e|0)==21){e=0;k[(k[K>>2]|0)+(t<<2)>>2]=k[c+20>>2];break b}else if((e|0)==22)if(p){c=0;e=39;break b}else break}while(0);g=s+-1|0;e=(g&s|0)==0;if(e)c=g&q;else c=(q>>>0)%(s>>>0)|0;f=k[(k[L>>2]|0)+(c<<2)>>2]|0;if((f|0)!=0?(F=k[f>>2]|0,(F|0)!=0):0)if(e){e=F;while(1){if((k[e+4>>2]&g|0)!=(c|0)){e=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else{e=F;while(1){if((((k[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(c|0)){e=39;break b}if(((k[e+8>>2]|0)==(h|0)?(k[e+12>>2]|0)==(j|0):0)?(k[e+16>>2]|0)==(l|0):0){e=51;break b}e=k[e>>2]|0;if(!e){e=39;break}}}else e=39}else{c=0;e=39}while(0);if((e|0)==39){g=bj(24)|0;k[g+8>>2]=h;k[g+12>>2]=j;k[g+16>>2]=l;k[g+20>>2]=d;k[g+4>>2]=q;k[g>>2]=0;m=+(((k[A>>2]|0)+1|0)>>>0);n=+o[H>>2];do if(p|m>+(s>>>0)*n){c=(s>>>0>2&(s+-1&s|0)==0&1|s<<1)^1;e=~~+_(+(m/n))>>>0;Rf(L,c>>>0>>0?e:c);c=k[z>>2]|0;e=c+-1|0;if(!(e&c)){f=c;c=e&q;break}else{f=c;c=(q>>>0)%(c>>>0)|0;break}}else f=s;while(0);c=(k[L>>2]|0)+(c<<2)|0;e=k[c>>2]|0;if(!e){k[g>>2]=k[B>>2];k[B>>2]=g;k[c>>2]=B;c=k[g>>2]|0;if(c|0){c=k[c+4>>2]|0;e=f+-1|0;if(!(e&f))c=c&e;else c=(c>>>0)%(f>>>0)|0;k[(k[L>>2]|0)+(c<<2)>>2]=g}}else{k[g>>2]=k[e>>2];k[e>>2]=g}k[A>>2]=(k[A>>2]|0)+1;e=51}if((e|0)==51){q=C;s=k[q>>2]|0;q=_i(s|0,k[q+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;Ah((k[k[D>>2]>>2]|0)+q|0,G|0,s|0)|0;k[(k[K>>2]|0)+(t<<2)>>2]=d;d=d+1|0}c=t+1|0;e=k[J>>2]|0;if((c|0)>=(e|0)){l=d;break a}t=c;s=k[z>>2]|0}}else l=0;while(0);if((l|0)!=(e|0)){j=a+84|0;if(!(i[j>>0]|0)){e=k[a+68>>2]|0;c=(k[a+72>>2]|0)-e|0;if((c|0)>0){f=k[K>>2]|0;d=c>>2;c=0;do{a=e+(c<<2)|0;k[a>>2]=k[f+(k[a>>2]<<2)>>2];c=c+1|0}while((c|0)<(d|0))}}else{i[j>>0]=0;c=a+68|0;d=a+72|0;h=k[d>>2]|0;g=k[c>>2]|0;f=h-g>>2;if(e>>>0<=f>>>0){if(e>>>0>>0?(I=g+(e<<2)|0,(h|0)!=(I|0)):0)k[d>>2]=h+(~((h+-4-I|0)>>>2)<<2)}else{Ff(c,e-f|0,2864);e=k[J>>2]|0}if((e|0)>0){f=k[K>>2]|0;if(i[j>>0]|0)Ja(10417,10436,80,10468);d=k[a+68>>2]|0;c=0;do{k[d+(c<<2)>>2]=k[f+(c<<2)>>2];c=c+1|0}while((c|0)<(e|0))}}k[J>>2]=l}e=k[K>>2]|0;f=e;if(e|0){c=K+4|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-f|0)>>>2)<<2);Fl(e)}c=k[L+8>>2]|0;if(c|0)do{K=c;c=k[c>>2]|0;Fl(K)}while((c|0)!=0);c=k[L>>2]|0;k[L>>2]=0;if(!c){r=N;return l|0}Fl(c);r=N;return l|0}function Db(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=a+8|0;k[G>>2]=e;do if(d|0){f=k[b>>2]|0;l=a+16|0;k[l>>2]=f;j=a+12|0;k[j>>2]=f;if((d|0)>1){i=1;h=f;while(1){g=k[b+(i<<2)>>2]|0;if((g|0)>=(h|0))if((g|0)>(f|0)){k[l>>2]=g;f=g;g=h}else g=h;else k[j>>2]=g;i=i+1|0;if((i|0)==(d|0))break;else h=g}}else g=f;z=1-g+f|0;k[a+20>>2]=z;f=(z|0)/2|0;g=a+24|0;k[g>>2]=f;k[a+28>>2]=0-f;if(!(z&1))k[g>>2]=f+-1;f=a+32|0;g=a+36|0;j=k[g>>2]|0;h=k[f>>2]|0;i=j-h>>2;if(i>>>0>>0){kg(f,e-i|0);break}if(i>>>0>e>>>0?(m=h+(e<<2)|0,(j|0)!=(m|0)):0)k[g>>2]=j+(~((j+-4-m|0)>>>2)<<2)}while(0);o=e>>>0>1073741823?-1:e<<2;z=Cl(o)|0;Jh(z|0,0,o|0)|0;o=k[a+48>>2]|0;p=a+56|0;i=k[p>>2]|0;h=k[i+4>>2]|0;g=k[i>>2]|0;f=h-g|0;a:do if((f|0)>4){q=k[a+52>>2]|0;r=a+16|0;s=a+32|0;t=a+12|0;u=a+28|0;v=a+20|0;w=a+24|0;x=o+12|0;y=(e|0)>0;m=f>>2;f=i;while(1){n=m+-1|0;if(h-g>>2>>>0<=n>>>0)break;f=k[g+(n<<2)>>2]|0;if((f|0)>=0?(A=k[(k[x>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0){h=k[o>>2]|0;g=(A>>>0)%3|0;i=k[q>>2]|0;l=k[i+(k[h+(((A>>>0)/3|0)*12|0)+(g<<2)>>2]<<2)>>2]|0;f=A+1|0;f=((f|0)%3|0|0)==0?A+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[i+(f<<2)>>2]|0;f=((g|0)==0?2:-1)+A|0;if((f|0)<0)f=-1073741824;else f=k[h+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;f=k[i+(f<<2)>>2]|0;d=$(n,e)|0;if((l|0)<(n|0)&(j|0)<(n|0)&(f|0)<(n|0)){i=$(l,e)|0;h=$(j,e)|0;g=$(f,e)|0;if(y){f=0;do{k[z+(f<<2)>>2]=(k[b+(f+g<<2)>>2]|0)+(k[b+(f+h<<2)>>2]|0)-(k[b+(f+i<<2)>>2]|0);f=f+1|0}while((f|0)!=(e|0))}l=b+(d<<2)|0;if((k[G>>2]|0)>0){j=0;do{i=k[z+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+d<<2)>>2]=(k[l+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[G>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+d<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[G>>2]|0))}}}}else{C=d;E=30}}else{C=$(n,e)|0;E=30}if((E|0)==30?(E=0,B=b+(C<<2)|0,D=b+(($(m+-2|0,e)|0)<<2)|0,(k[G>>2]|0)>0):0){j=0;do{i=k[D+(j<<2)>>2]|0;f=k[r>>2]|0;do if((i|0)<=(f|0)){f=k[t>>2]|0;g=k[s>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[s>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0){f=0;do{k[c+(f+C<<2)>>2]=(k[B+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[G>>2]|0}while((f|0)<(g|0));if((g|0)>0){f=0;do{g=c+(f+C<<2)|0;h=k[g>>2]|0;if((h|0)>=(k[u>>2]|0)){if((h|0)>(k[w>>2]|0))k[g>>2]=h-(k[v>>2]|0)}else k[g>>2]=(k[v>>2]|0)+h;f=f+1|0}while((f|0)<(k[G>>2]|0))}}}if((n|0)<=1){F=z;break a}f=k[p>>2]|0;m=n;g=k[f>>2]|0;h=k[f+4>>2]|0}Jk(f)}else F=z;while(0);if((e|0)>0)Jh(z|0,0,e<<2|0)|0;if((k[G>>2]|0)<=0){Dl(z);return 1}l=a+16|0;d=a+32|0;m=a+12|0;j=0;do{i=k[F+(j<<2)>>2]|0;f=k[l>>2]|0;do if((i|0)<=(f|0)){f=k[m>>2]|0;g=k[d>>2]|0;h=g+(j<<2)|0;if((i|0)<(f|0)){k[h>>2]=f;h=g;break}else{k[h>>2]=i;h=g;break}}else{h=k[d>>2]|0;k[h+(j<<2)>>2]=f}while(0);j=j+1|0;f=k[G>>2]|0}while((j|0)<(f|0));if((f|0)>0)f=0;else{Dl(z);return 1}do{k[c+(f<<2)>>2]=(k[b+(f<<2)>>2]|0)-(k[h+(f<<2)>>2]|0);f=f+1|0;g=k[G>>2]|0}while((f|0)<(g|0));if((g|0)<=0){Dl(z);return 1}j=a+28|0;l=a+20|0;g=a+24|0;f=0;do{h=c+(f<<2)|0;i=k[h>>2]|0;if((i|0)>=(k[j>>2]|0)){if((i|0)>(k[g>>2]|0))k[h>>2]=i-(k[l>>2]|0)}else k[h>>2]=(k[l>>2]|0)+i;f=f+1|0}while((f|0)<(k[G>>2]|0));Dl(z);return 1}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;switch(k[b+28>>2]|0){case 9:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Ob(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Fb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Cb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Pb(a,b,d)|0;break}default:c=0}break}case 1:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Qb(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Jb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Bb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Lb(a,b,d)|0;break}default:c=0}break}case 11:case 2:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Qb(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Jb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Bb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Lb(a,b,d)|0;break}default:c=0}break}case 4:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Nb(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Hb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=zb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Kb(a,b,d)|0;break}default:c=0}break}case 3:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Nb(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Hb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=zb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Kb(a,b,d)|0;break}default:c=0}break}case 6:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Ob(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Fb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Cb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Pb(a,b,d)|0;break}default:c=0}break}case 5:{c=k[c>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];c=Ob(a,b,d)|0;break}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];c=Fb(a,b,d)|0;break}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];c=Cb(a,b,d)|0;break}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];c=Pb(a,b,d)|0;break}default:c=0}break}default:{h=-1;r=j;return h|0}}h=(c|0)==0?-1:c;r=j;return h|0} -function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+16|0;p=q;m=b+8|0;g=m;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){p=0;r=q;return p|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=j;k[g>>2]=d;k[g+4>>2]=e;g=a+76|0;Ld(g,h,0);nl(p);if(je(p,b)|0){if((h|0)>0){d=1;e=0;do{d=d^((Ih(p)|0)^1);f=(k[g>>2]|0)+(e>>>5<<2)|0;c=1<<(e&31);if(d)c=k[f>>2]|c;else c=k[f>>2]&~c;k[f>>2]=c;e=e+1|0}while((e|0)<(h|0))}e=m;g=k[e>>2]|0;e=k[e+4>>2]|0;h=j;c=k[h>>2]|0;h=Vj(c|0,k[h+4>>2]|0,4,0)|0;f=M;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,n=(k[b>>2]|0)+c|0,n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24,i[g>>0]=n,i[g+1>>0]=n>>8,i[g+2>>0]=n>>16,i[g+3>>0]=n>>24,g=j,e=k[g>>2]|0,g=k[g+4>>2]|0,o=Vj(e|0,g|0,4,0)|0,f=j,k[f>>2]=o,k[f+4>>2]=M,f=m,h=k[f>>2]|0,f=k[f+4>>2]|0,m=Vj(e|0,g|0,8,0)|0,g=M,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){d=a+16|0;o=(k[b>>2]|0)+o|0;o=l[o>>0]|l[o+1>>0]<<8|l[o+2>>0]<<16|l[o+3>>0]<<24;i[d>>0]=o;i[d+1>>0]=o>>8;i[d+2>>0]=o>>16;i[d+3>>0]=o>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;c=j;k[c>>2]=d;k[c+4>>2]=M;o=o+(1-n)|0;k[a+20>>2]=o;c=(o|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(!(o&1)){k[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Il(p);p=c;r=q;return p|0}function Dd(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,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k[b>>2]|0;m=k[b+4>>2]|0;h=((k[c>>2]|0)-p<<3)+(k[c+4>>2]|0)-m|0;c=p;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!m){e=d+4|0;n=e;e=k[e>>2]|0}else{g=32-m|0;l=(h|0)<(g|0)?h:g;g=-1>>>(g-l|0)&-1<>2];n=d+4|0;j=k[n>>2]|0;e=32-j|0;f=e>>>0>>0?e:l;i=k[d>>2]|0;j=k[i>>2]&~(-1>>>(e-f|0)&-1<>2]=j;e=k[n>>2]|0;k[i>>2]=j|(e>>>0>m>>>0?g<>>(m-e|0));e=(k[n>>2]|0)+f|0;i=i+(e>>>5<<2)|0;k[d>>2]=i;e=e&31;k[n>>2]=e;j=l-f|0;if((j|0)>0){k[i>>2]=k[i>>2]&~(-1>>>(32-j|0))|g>>>(m+f|0);k[n>>2]=j;e=j}c=c+4|0;k[b>>2]=c;h=h-l|0}p=32-e|0;j=-1<>>0>31){l=~j;i=k[d>>2]|0;e=h+-32|0;o=e>>>5;m=o+1|0;o=e-(o<<5)|0;e=c;f=k[i>>2]|0;g=i;while(1){q=k[e>>2]|0;r=f&l;k[g>>2]=r;k[g>>2]=r|q<>2];g=g+4|0;f=k[g>>2]&j|q>>>p;k[g>>2]=f;h=h+-32|0;if(h>>>0<=31)break;else e=e+4|0}c=c+(m<<2)|0;k[b>>2]=c;k[d>>2]=i+(m<<2);h=o}if(!h){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}g=k[c>>2]&-1>>>(32-h|0);f=(p|0)<(h|0)?p:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(p-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[n>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[n>>2]=c&31;c=h-f|0;if((c|0)<=0){q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[n>>2]=c;q=n;r=k[d>>2]|0;k[a>>2]=r;r=a+4|0;q=k[q>>2]|0;k[r>>2]=q;return}function Ed(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;k[r>>2]=e;s=k[a+24>>2]|0;p=k[a+28>>2]|0;l=e>>>0>1073741823?-1:e<<2;q=Cl(l)|0;Jh(q|0,0,l|0)|0;Xf(r,q,b,c,0);l=a+32|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;o=g-f|0;m=o>>2;if((o|0)<=4){Dl(q);return 1}n=s+12|0;o=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){u=6;break}f=k[f+(d<<2)>>2]|0;if((f|0)>=0?(t=k[(k[n>>2]|0)+(f<<2)>>2]|0,(t|0)>-1):0){g=k[s>>2]|0;a=(t>>>0)%3|0;h=k[p>>2]|0;i=k[h+(k[g+(((t>>>0)/3|0)*12|0)+(a<<2)>>2]<<2)>>2]|0;f=t+1|0;f=((f|0)%3|0|0)==0?t+-2|0:f;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;j=k[h+(f<<2)>>2]|0;f=((a|0)==0?2:-1)+t|0;if((f|0)<0)f=-1073741824;else f=k[g+(((f>>>0)/3|0)*12|0)+(((f>>>0)%3|0)<<2)>>2]|0;a=k[h+(f<<2)>>2]|0;f=$(d,e)|0;if((i|0)<(d|0)&(j|0)<(d|0)&(a|0)<(d|0)){i=$(i,e)|0;h=$(j,e)|0;g=$(a,e)|0;if(o){a=0;do{k[q+(a<<2)>>2]=(k[c+(a+g<<2)>>2]|0)+(k[c+(a+h<<2)>>2]|0)-(k[c+(a+i<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Xf(r,q,b,c+(f<<2)|0,f)}else u=14}else{f=$(d,e)|0;u=14}if((u|0)==14){u=0;Xf(r,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(m|0)){u=3;break}a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}if((u|0)==3){Dl(q);return 1}else if((u|0)==6)Jk(a);return 0}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;e=a+48|0;b=k[e>>2]|0;e=k[e+4>>2]|0;g=a+40|0;e=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,e|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+e>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=c+4|0;k[c>>2]=0;k[c+4>>2]=0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;d=+(b&255)}else{o[c>>2]=d/255.0;d=+(b&255)/255.0}o[c+4>>2]=d;o[c+8>>2]=0.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;e=i[g+2>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}case 4:{e=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;f=a+40|0;g=(Vj(_i(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;e=g>>>16&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);o[c+8>>2]=+(e&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;o[c+8>>2]=+(e&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=Vj(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=Vj(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=Vj(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(Ce(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+28|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+48|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+68|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];ib(a,u,o,m,0,n);u=1;r=s;return u|0}function Hd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+48|0;n=s+40|0;m=s+28|0;o=s+16|0;p=s+4|0;q=s;f=b+8|0;h=f;e=k[h>>2]|0;h=k[h+4>>2]|0;j=b+16|0;g=j;d=k[g>>2]|0;g=k[g+4>>2]|0;t=Vj(d|0,g|0,4,0)|0;u=M;if(!((h|0)<(u|0)|(h|0)==(u|0)&e>>>0>>0)){d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[a>>0]=d;i[a+1>>0]=d>>8;i[a+2>>0]=d>>16;i[a+3>>0]=d>>24;d=j;d=Vj(k[d>>2]|0,k[d+4>>2]|0,4,0)|0;g=M;e=j;k[e>>2]=d;k[e+4>>2]=g;e=f;h=k[e+4>>2]|0;e=k[e>>2]|0}f=a+4|0;u=Vj(d|0,g|0,4,0)|0;t=M;if((h|0)<(t|0)|(h|0)==(t|0)&e>>>0>>0)d=k[f>>2]|0;else{d=(k[b>>2]|0)+d|0;d=l[d>>0]|l[d+1>>0]<<8|l[d+2>>0]<<16|l[d+3>>0]<<24;i[f>>0]=d;i[f+1>>0]=d>>8;i[f+2>>0]=d>>16;i[f+3>>0]=d>>24;t=j;t=Vj(k[t>>2]|0,k[t+4>>2]|0,4,0)|0;u=j;k[u>>2]=t;k[u+4>>2]=M}if(!d){u=1;r=s;return u|0}if(!(je(a+8|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+24|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+44|0,b)|0)){u=0;r=s;return u|0}if(!(Ce(a+64|0,b)|0)){u=0;r=s;return u|0}u=k[f>>2]|0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[q>>2]=k[c>>2];k[m>>2]=k[p>>2];k[m+4>>2]=k[p+4>>2];k[m+8>>2]=k[p+8>>2];k[n>>2]=k[q>>2];sb(a,u,o,m,0,n);u=1;r=s;return u|0}function Id(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,l=0,m=0,n=0;l=k[b>>2]|0;m=b+4|0;e=k[m>>2]|0;h=((k[c>>2]|0)-l<<3)+(k[c+4>>2]|0)-e|0;c=l;if((h|0)<=0){b=d+4|0;d=k[d>>2]|0;k[a>>2]=d;d=a+4|0;a=k[b>>2]|0;k[d>>2]=a;return}if(!e){e=d+4|0;j=e;e=k[e>>2]|0}else{f=32-e|0;l=(h|0)<(f|0)?h:f;f=-1>>>(f-l|0)&-1<>2];j=d+4|0;n=k[j>>2]|0;e=32-n|0;c=e>>>0>>0?e:l;g=k[d>>2]|0;n=k[g>>2]&~(-1>>>(e-c|0)&-1<>2]=n;e=k[j>>2]|0;i=k[m>>2]|0;k[g>>2]=n|(e>>>0>i>>>0?f<>>(i-e|0));e=(k[j>>2]|0)+c|0;g=g+(e>>>5<<2)|0;k[d>>2]=g;e=e&31;k[j>>2]=e;i=l-c|0;if((i|0)>0){e=k[g>>2]&~(-1>>>(32-i|0));k[g>>2]=e;k[g>>2]=e|f>>>((k[m>>2]|0)+c|0);k[j>>2]=i;e=i}c=(k[b>>2]|0)+4|0;k[b>>2]=c;h=h-l|0}i=32-e|0;f=-1<>>0>31){g=~f;e=h;do{m=k[c>>2]|0;n=k[d>>2]|0;l=k[n>>2]&g;k[n>>2]=l;k[n>>2]=l|m<>2];n=n+4|0;k[d>>2]=n;k[n>>2]=k[n>>2]&f|m>>>i;e=e+-32|0;c=(k[b>>2]|0)+4|0;k[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}g=k[c>>2]&-1>>>(32-h|0);f=(i|0)<(h|0)?i:h;e=k[d>>2]|0;c=k[e>>2]&~(-1<>2]&-1>>>(i-f|0));k[e>>2]=c;k[e>>2]=c|g<>2];c=(k[j>>2]|0)+f|0;e=e+(c>>>5<<2)|0;k[d>>2]=e;k[j>>2]=c&31;c=h-f|0;if((c|0)<=0){b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}k[e>>2]=k[e>>2]&~(-1>>>(32-c|0))|g>>>f;k[j>>2]=c;b=j;n=k[d>>2]|0;k[a>>2]=n;n=a+4|0;d=k[b>>2]|0;k[n>>2]=d;return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+48|0;t=w+40|0;u=w+24|0;o=w+20|0;p=w+16|0;q=w;s=w+8|0;k[u>>2]=0;v=u+4|0;k[v>>2]=0;k[u+8>>2]=0;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;f=b+16|0;h=f;g=k[h>>2]|0;h=k[h+4>>2]|0;j=Vj(g|0,h|0,4,0)|0;m=M;a:do if((e|0)<(m|0)|(e|0)==(m|0)&d>>>0>>0)d=0;else{n=k[b>>2]|0;x=n+g|0;x=l[x>>0]|l[x+1>>0]<<8|l[x+2>>0]<<16|l[x+3>>0]<<24;y=f;k[y>>2]=j;k[y+4>>2]=m;b:do switch(x|0){case 3:{if(!((e|0)>(m|0)|(e|0)==(m|0)&d>>>0>j>>>0)){d=0;break a}y=i[n+j>>0]|0;n=Vj(g|0,h|0,5,0)|0;x=f;k[x>>2]=n;k[x+4>>2]=M;k[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(tb(a,b,u)|0)break b;else{d=0;break a}else{ki(9643,23,1,k[1178]|0)|0;d=0;break a}}case 2:{if(!(tb(a,b,u)|0)){d=0;break a}break}default:{ki(9667,24,1,k[1178]|0)|0;d=0;break a}}while(0);k[o>>2]=k[u>>2];k[p>>2]=k[v>>2];x=c;y=k[x+4>>2]|0;d=q;k[d>>2]=k[x>>2];k[d+4>>2]=y;k[t>>2]=k[q>>2];k[t+4>>2]=k[q+4>>2];se(s,o,p,a,t);d=1}while(0);a=k[u>>2]|0;if(!a){r=w;return d|0}b=k[v>>2]|0;if((b|0)!=(a|0))k[v>>2]=b+(~(((b+-12-a|0)>>>0)/12|0)*12|0);Fl(a);r=w;return d|0}function Kd(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,l=0,m=0,n=0,o=0,p=0,q=0.0;n=b+8|0;p=k[n>>2]|0;e=(k[c>>2]|0)-p|0;m=c+4|0;g=(k[m>>2]|0)-p|0;f=c;k[f>>2]=e;k[f+4>>2]=g;q=+O(+(+(e|0)))+ +O(+(+(g|0)));f=k[n>>2]|0;if(!(q<=+(f|0))){if((e|0)>-1)if((g|0)<=-1)if((e|0)<1){h=-1;i=-1}else o=6;else{h=1;i=1}else if((g|0)<1){h=-1;i=-1}else o=6;if((o|0)==6){h=(e|0)>0?1:-1;i=(g|0)>0?1:-1}l=$(f,h)|0;j=$(f,i)|0;e=(e<<1)-l|0;k[c>>2]=e;f=(g<<1)-j|0;k[m>>2]=f;if(($(h,i)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;l=(f+l|0)/2|0;k[c>>2]=l;g=(e+j|0)/2|0;k[m>>2]=g;h=0;e=l;j=k[n>>2]|0}else{h=1;j=f}f=(k[d>>2]|0)+e|0;k[a>>2]=f;e=(k[d+4>>2]|0)+g|0;l=a+4|0;k[l>>2]=e;if((j|0)>=(f|0)){if((f|0)<(0-j|0))f=(k[b+4>>2]|0)+f|0}else f=f-(k[b+4>>2]|0)|0;k[a>>2]=f;if((j|0)>=(e|0))if((e|0)<(0-j|0))i=(k[b+4>>2]|0)+e|0;else i=e;else i=e-(k[b+4>>2]|0)|0;k[l>>2]=i;if(h){o=i;b=f;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}if((f|0)>-1)if((i|0)<=-1)if((f|0)<1){g=-1;h=-1}else o=24;else{g=1;h=1}else if((i|0)<1){g=-1;h=-1}else o=24;if((o|0)==24){g=(f|0)>0?1:-1;h=(i|0)>0?1:-1}c=$(j,g)|0;j=$(j,h)|0;e=(f<<1)-c|0;k[a>>2]=e;f=(i<<1)-j|0;k[l>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[a>>2]=f;e=0-e|0}else k[a>>2]=f;b=(f+c|0)/2|0;k[a>>2]=b;o=(e+j|0)/2|0;k[l>>2]=o;b=b+p|0;o=o+p|0;p=a;a=p;k[a>>2]=b;p=p+4|0;k[p>>2]=o;return}function Ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;m=p+8|0;i=p;n=a+4|0;e=k[n>>2]|0;if(e>>>0>=b>>>0){k[n>>2]=b;r=p;return}o=a+8|0;f=k[o>>2]|0;l=f<<5;d=b-e|0;if(l>>>0>>0|e>>>0>(l-d|0)>>>0){k[m>>2]=0;j=m+4|0;k[j>>2]=0;l=m+8|0;k[l>>2]=0;if((b|0)<0)Kk(a);e=f<<6;g=b+31&-32;Zf(m,f<<5>>>0<1073741823?(e>>>0>>0?g:e):2147483647);f=k[n>>2]|0;k[j>>2]=f+d;e=k[a>>2]|0;g=e;b=k[m>>2]|0;f=(g+(f>>>5<<2)-e<<3)+(f&31)|0;if((f|0)>0){h=f>>>5;zi(b|0,e|0,h<<2|0)|0;e=f-(h<<5)|0;f=b+(h<<2)|0;b=f;if((e|0)>0){q=-1>>>(32-e|0);k[f>>2]=k[f>>2]&~q|k[g+(h<<2)>>2]&q}else e=0}else e=0;k[i>>2]=b;k[i+4>>2]=e;f=i;b=k[f>>2]|0;f=k[f+4>>2]|0;e=k[a>>2]|0;k[a>>2]=k[m>>2];k[m>>2]=e;q=k[n>>2]|0;k[n>>2]=k[j>>2];k[j>>2]=q;q=k[o>>2]|0;k[o>>2]=k[l>>2];k[l>>2]=q;if(e|0)Fl(e)}else{f=(k[a>>2]|0)+(e>>>5<<2)|0;k[n>>2]=b;b=f;f=e&31}if(!d){r=p;return}g=(f|0)==0;e=b;if(c){if(!g){q=32-f|0;b=q>>>0>d>>>0?d:q;k[e>>2]=k[e>>2]|-1>>>(q-b|0)&-1<>>5;Jh(b|0,-1,q<<2|0)|0;d=d-(q<<5)|0;b=e+(q<<2)|0;if(!d){r=p;return}k[b>>2]=k[b>>2]|-1>>>(32-d|0);r=p;return}else{if(!g){q=32-f|0;b=q>>>0>d>>>0?d:q;k[e>>2]=k[e>>2]&~(-1>>>(q-b|0)&-1<>>5;Jh(b|0,0,q<<2|0)|0;d=d-(q<<5)|0;b=e+(q<<2)|0;if(!d){r=p;return}k[b>>2]=k[b>>2]&~(-1>>>(32-d|0));r=p;return}}function Md(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=a+8|0;k[s>>2]=e;t=k[a+24>>2]|0;q=k[a+28>>2]|0;l=e>>>0>1073741823?-1:e<<2;r=Cl(l)|0;Jh(r|0,0,l|0)|0;Xf(s,r,b,c,0);l=a+32|0;a=k[l>>2]|0;g=k[a+4>>2]|0;f=k[a>>2]|0;p=g-f|0;m=p>>2;if((p|0)<=4){Dl(r);return 1}n=t+64|0;o=t+28|0;p=(e|0)>0;d=1;while(1){if(g-f>>2>>>0<=d>>>0){v=6;break}f=k[f+(d<<2)>>2]|0;if(!((f|0)<0?1:(1<<(f&31)&k[(k[t>>2]|0)+(f>>>5<<2)>>2]|0)!=0)?(u=k[(k[(k[n>>2]|0)+12>>2]|0)+(f<<2)>>2]|0,(u|0)>-1):0){h=k[o>>2]|0;f=k[q>>2]|0;a=k[f+(k[h+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=k[f+(k[h+((((g|0)%3|0|0)==0?u+-2|0:g)<<2)>>2]<<2)>>2]|0;h=k[f+(k[h+((((u>>>0)%3|0|0)==0?2:-1)+u<<2)>>2]<<2)>>2]|0;f=$(d,e)|0;if((a|0)<(d|0)&(g|0)<(d|0)&(h|0)<(d|0)){j=$(a,e)|0;i=$(g,e)|0;g=$(h,e)|0;if(p){a=0;do{k[r+(a<<2)>>2]=(k[c+(a+g<<2)>>2]|0)+(k[c+(a+i<<2)>>2]|0)-(k[c+(a+j<<2)>>2]|0);a=a+1|0}while((a|0)!=(e|0))}Xf(s,r,b,c+(f<<2)|0,f)}else v=10}else{f=$(d,e)|0;v=10}if((v|0)==10){v=0;Xf(s,c+(($(d+-1|0,e)|0)<<2)|0,b,c+(f<<2)|0,f)}d=d+1|0;if((d|0)>=(m|0)){v=3;break}a=k[l>>2]|0;f=k[a>>2]|0;g=k[a+4>>2]|0}if((v|0)==3){Dl(r);return 1}else if((v|0)==6)Jk(a);return 0}function Nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;o=p;m=b+8|0;g=m;h=k[g>>2]|0;g=k[g+4>>2]|0;j=b+16|0;d=j;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((g|0)<(e|0)|(g|0)==(e|0)&h>>>0>>0){o=0;r=p;return o|0}h=(k[b>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=j;k[g>>2]=d;k[g+4>>2]=e;g=a+52|0;Ld(g,h,0);nl(o);if(je(o,b)|0){if((h|0)>0){d=1;e=0;do{d=d^((Ih(o)|0)^1);f=(k[g>>2]|0)+(e>>>5<<2)|0;c=1<<(e&31);if(d)c=k[f>>2]|c;else c=k[f>>2]&~c;k[f>>2]=c;e=e+1|0}while((e|0)<(h|0))}e=m;g=k[e>>2]|0;e=k[e+4>>2]|0;h=j;c=k[h>>2]|0;h=Vj(c|0,k[h+4>>2]|0,4,0)|0;f=M;if(!((e|0)<(f|0)|(e|0)==(f|0)&g>>>0>>0)?(g=a+12|0,e=(k[b>>2]|0)+c|0,e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24,i[g>>0]=e,i[g+1>>0]=e>>8,i[g+2>>0]=e>>16,i[g+3>>0]=e>>24,g=j,e=k[g>>2]|0,g=k[g+4>>2]|0,n=Vj(e|0,g|0,4,0)|0,f=j,k[f>>2]=n,k[f+4>>2]=M,f=m,h=k[f>>2]|0,f=k[f+4>>2]|0,m=Vj(e|0,g|0,8,0)|0,g=M,!((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0)):0){c=a+16|0;n=(k[b>>2]|0)+n|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[c>>0]=n;i[c+1>>0]=n>>8;i[c+2>>0]=n>>16;i[c+3>>0]=n>>24;n=j;n=Vj(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;c=j;k[c>>2]=n;k[c+4>>2]=M;c=1}else c=0}else c=0;Il(o);o=c;r=p;return o|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(i[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+((g&255)<<24>>24);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b<<24>>24);g=1;return g|0}else{o[c>>2]=d/127.0;o[c+4>>2]=+(b<<24>>24)/127.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Pd(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,l=0,m=0,n=0,o=0,p=0.0;n=b+8|0;f=k[n>>2]|0;o=c+4|0;m=(k[o>>2]|0)-f|0;e=c;k[e>>2]=(k[c>>2]|0)-f;k[e+4>>2]=m;e=(k[d>>2]|0)-f|0;m=d+4|0;f=(k[m>>2]|0)-f|0;i=d;k[i>>2]=e;k[i+4>>2]=f;p=+O(+(+(e|0)))+ +O(+(+(f|0)));i=k[n>>2]|0;if(!(p<=+(i|0))){e=k[c>>2]|0;f=k[o>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=6;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=6;if((l|0)==6){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=$(i,g)|0;i=$(i,h)|0;e=(e<<1)-j|0;k[c>>2]=e;f=(f<<1)-i|0;k[o>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[c>>2]=f;e=0-e|0}else k[c>>2]=f;k[c>>2]=(f+j|0)/2|0;k[o>>2]=(e+i|0)/2|0;e=k[d>>2]|0;f=k[m>>2]|0;if((e|0)>-1)if((f|0)<=-1)if((e|0)<1){g=-1;h=-1}else l=14;else{g=1;h=1}else if((f|0)<1){g=-1;h=-1}else l=14;if((l|0)==14){g=(e|0)>0?1:-1;h=(f|0)>0?1:-1}j=k[n>>2]|0;i=$(j,g)|0;j=$(j,h)|0;e=(e<<1)-i|0;k[d>>2]=e;f=(f<<1)-j|0;k[m>>2]=f;if(($(g,h)|0)>-1){f=0-f|0;k[d>>2]=f;e=0-e|0}else k[d>>2]=f;i=(f+i|0)/2|0;k[d>>2]=i;f=(e+j|0)/2|0;k[m>>2]=f;e=i;i=k[n>>2]|0}e=(k[c>>2]|0)-e|0;k[a>>2]=e;g=(k[o>>2]|0)-f|0;h=a+4|0;k[h>>2]=g;f=i<<1;if((f|0)<(e|0))Ja(7803,7230,160,7827);if((e|0)<0)e=(k[b+4>>2]|0)+e|0;k[a>>2]=e;if((f|0)<(g|0))Ja(7803,7230,160,7827);if((g|0)>=0){b=g;k[h>>2]=b;return}b=(k[b+4>>2]|0)+g|0;k[h>>2]=b;return}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;j=n;l=a+8|0;e=k[l>>2]|0;m=a+4|0;c=k[m>>2]|0;if(((e-c|0)/116|0)>>>0>=b>>>0){do{k[c>>2]=-1;yi(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[m>>2]|0)+116|0;k[m>>2]=c;b=b+-1|0}while((b|0)!=0);r=n;return}f=k[a>>2]|0;d=((c-f|0)/116|0)+b|0;if(d>>>0>37025580)Kk(a);h=(e-f|0)/116|0;e=h<<1;e=h>>>0<18512790?(e>>>0>>0?d:e):37025580;c=(c-f|0)/116|0;k[j+12>>2]=0;k[j+16>>2]=a+8;do if(e)if(e>>>0>37025580){n=La(4)|0;pl(n);wa(n|0,736,68)}else{d=bj(e*116|0)|0;break}else d=0;while(0);k[j>>2]=d;c=d+(c*116|0)|0;g=j+8|0;k[g>>2]=c;f=j+4|0;k[f>>2]=c;h=j+12|0;k[h>>2]=d+(e*116|0);do{k[c>>2]=-1;yi(c+4|0);i[c+72>>0]=1;c=c+76|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));c=(k[g>>2]|0)+116|0;k[g>>2]=c;b=b+-1|0}while((b|0)!=0);d=k[a>>2]|0;c=k[m>>2]|0;if((c|0)==(d|0)){e=f;b=k[f>>2]|0}else{b=k[f>>2]|0;do{b=b+-116|0;c=c+-116|0;Sd(b,c);k[f>>2]=b}while((c|0)!=(d|0));e=f;d=k[a>>2]|0;c=k[m>>2]|0}k[a>>2]=b;k[e>>2]=d;k[m>>2]=k[g>>2];k[g>>2]=c;m=k[l>>2]|0;k[l>>2]=k[h>>2];k[h>>2]=m;k[j>>2]=k[e>>2];eg(j);r=n;return}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;o[c+4>>2]=0.0;c=1;return c|0}case 2:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8;b=(g&65535)>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 3:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;b=i[g+1>>0]|0;d=+(l[g>>0]|0);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}case 4:{f=k[b>>2]|0;g=a+48|0;b=k[g>>2]|0;g=k[g+4>>2]|0;e=a+40|0;g=(Vj(_i(k[e>>2]|0,k[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,b|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;b=g>>>8&255;d=+(g&255);if(!(i[a+32>>0]|0)){o[c>>2]=d;o[c+4>>2]=+(b&255);g=1;return g|0}else{o[c>>2]=d/255.0;o[c+4>>2]=+(b&255)/255.0;g=1;return g|0}}default:{g=0;return g|0}}return 0}function Sd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=k[b>>2];c=b+4|0;k[a+4>>2]=k[c>>2];d=b+8|0;k[a+8>>2]=k[d>>2];e=b+12|0;k[a+12>>2]=k[e>>2];k[c>>2]=0;k[d>>2]=0;k[e>>2]=0;e=b+16|0;k[a+16>>2]=k[e>>2];d=b+20|0;k[a+20>>2]=k[d>>2];c=b+24|0;k[a+24>>2]=k[c>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;i[a+28>>0]=i[b+28>>0]|0;c=a+32|0;d=b+32|0;k[c>>2]=0;e=a+36|0;k[e>>2]=0;k[a+40>>2]=0;k[c>>2]=k[d>>2];c=b+36|0;k[e>>2]=k[c>>2];e=b+40|0;k[a+40>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;d=a+44|0;c=b+44|0;k[d>>2]=0;e=a+48|0;k[e>>2]=0;k[a+52>>2]=0;k[d>>2]=k[c>>2];d=b+48|0;k[e>>2]=k[d>>2];e=b+52|0;k[a+52>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+56|0;d=b+56|0;k[c>>2]=0;e=a+60|0;k[e>>2]=0;k[a+64>>2]=0;k[c>>2]=k[d>>2];c=b+60|0;k[e>>2]=k[c>>2];e=b+64|0;k[a+64>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+68>>2]=k[b+68>>2];i[a+72>>0]=i[b+72>>0]|0;d=a+76|0;c=b+76|0;k[d>>2]=0;e=a+80|0;k[e>>2]=0;k[a+84>>2]=0;k[d>>2]=k[c>>2];d=b+80|0;k[e>>2]=k[d>>2];e=b+84|0;k[a+84>>2]=k[e>>2];k[e>>2]=0;k[d>>2]=0;k[c>>2]=0;c=a+88|0;d=b+88|0;k[c>>2]=0;e=a+92|0;k[e>>2]=0;k[a+96>>2]=0;k[c>>2]=k[d>>2];c=b+92|0;k[e>>2]=k[c>>2];e=b+96|0;k[a+96>>2]=k[e>>2];k[e>>2]=0;k[c>>2]=0;k[d>>2]=0;k[a+100>>2]=k[b+100>>2];d=a+104|0;c=b+104|0;k[d>>2]=0;e=a+108|0;k[e>>2]=0;k[a+112>>2]=0;k[d>>2]=k[c>>2];d=b+108|0;k[e>>2]=k[d>>2];b=b+112|0;k[a+112>>2]=k[b>>2];k[b>>2]=0;k[d>>2]=0;k[c>>2]=0;return}function Td(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k[b>>2]|0;h=a+4|0;i=k[h>>2]|0;j=(i|0)==0;a:do if(!j){f=i+-1|0;c=(f&i|0)==0;if(c)g=f&m;else g=(m>>>0)%(i>>>0)|0;b=k[(k[a>>2]|0)+(g<<2)>>2]|0;if(b)if(c){do{b=k[b>>2]|0;if(!b){b=g;break a}if((k[b+4>>2]&f|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}else{do{b=k[b>>2]|0;if(!b){b=g;break a}if((((k[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0)){b=g;break a}}while((k[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}else b=g}else b=0;while(0);g=bj(16)|0;k[g+8>>2]=m;k[g+12>>2]=0;k[g+4>>2]=m;k[g>>2]=0;l=a+12|0;d=+(((k[l>>2]|0)+1|0)>>>0);e=+o[a+16>>2];do if(j|d>+(i>>>0)*e){b=(i>>>0>2&(i+-1&i|0)==0&1|i<<1)^1;c=~~+_(+(d/e))>>>0;bg(a,b>>>0>>0?c:b);b=k[h>>2]|0;c=b+-1|0;if(!(c&b)){f=b;b=c&m;break}else{f=b;b=(m>>>0)%(b>>>0)|0;break}}else f=i;while(0);b=(k[a>>2]|0)+(b<<2)|0;c=k[b>>2]|0;if(!c){m=a+8|0;k[g>>2]=k[m>>2];k[m>>2]=g;k[b>>2]=m;b=k[g>>2]|0;if(b|0){b=k[b+4>>2]|0;c=f+-1|0;if(!(c&f))b=b&c;else b=(b>>>0)%(f>>>0)|0;k[(k[a>>2]|0)+(b<<2)>>2]=g}}else{k[g>>2]=k[c>>2];k[c>>2]=g}k[l>>2]=(k[l>>2]|0)+1;a=g;a=a+12|0;return a|0}function Ud(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+16|0;b=t;i[b>>0]=0;i[b+1>>0]=0;i[b+2>>0]=0;i[b+3>>0]=0;i[b+4>>0]=0;i[b+5>>0]=0;p=a+8|0;j=k[p>>2]|0;p=k[p+4>>2]|0;s=a+16|0;d=s;c=k[d>>2]|0;d=k[d+4>>2]|0;e=Vj(c|0,d|0,5,0)|0;f=M;if(((((!((p|0)<(f|0)|(p|0)==(f|0)&j>>>0>>0)?(g=k[a>>2]|0,u=g+c|0,i[b>>0]=i[u>>0]|0,i[b+1>>0]=i[u+1>>0]|0,i[b+2>>0]=i[u+2>>0]|0,i[b+3>>0]=i[u+3>>0]|0,i[b+4>>0]=i[u+4>>0]|0,u=s,k[u>>2]=e,k[u+4>>2]=f,((p|0)>(f|0)|(p|0)==(f|0)&j>>>0>e>>>0)&(Yh(b,11143)|0)==0):0)?(u=Vj(c|0,d|0,6,0)|0,f=M,e=s,k[e>>2]=u,k[e+4>>2]=f,(p|0)>(f|0)|(p|0)==(f|0)&j>>>0>u>>>0):0)?(h=Vj(c|0,d|0,7,0)|0,u=M,f=s,k[f>>2]=h,k[f+4>>2]=u,(p|0)>(u|0)|(p|0)==(u|0)&j>>>0>h>>>0):0)?(l=i[g+h>>0]|0,m=Vj(c|0,d|0,8,0)|0,u=M,h=s,k[h>>2]=m,k[h+4>>2]=u,(p|0)>(u|0)|(p|0)==(u|0)&j>>>0>m>>>0):0)?(n=i[g+m>>0]|0,q=Vj(c|0,d|0,9,0)|0,o=s,k[o>>2]=q,k[o+4>>2]=M,o=Vj(c|0,d|0,11,0)|0,q=M,!((p|0)<(q|0)|(p|0)==(q|0)&j>>>0>>0)):0){u=s;k[u>>2]=o;k[u+4>>2]=q;if(l<<24>>24!=1){u=0;r=t;return u|0}switch(n<<24>>24){case 0:{d=bj(28)|0;Lk(d);break}case 1:{d=bj(32)|0;ik(d);break}default:{u=0;r=t;return u|0}}e=bj(92)|0;Wi(e);b=hj(d,a,e)|0;c=b?0:e;if(!b)Ra[k[(k[c>>2]|0)+4>>2]&127](c);Ra[k[(k[d>>2]|0)+4>>2]&127](d);u=b?e:0;r=t;return u|0}u=0;r=t;return u|0}function Vd(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,j=0,l=0,m=0,n=0,o=0;l=k[a>>2]|0;h=l;b=l+((k[b>>2]|0)-h)|0;j=d-c|0;if((j|0)<=0){o=b;return o|0}n=a+8|0;f=k[n>>2]|0;o=a+4|0;m=k[o>>2]|0;e=m;if((j|0)<=(f-e|0)){g=e-b|0;if((j|0)>(g|0)){h=c+g|0;if((h|0)==(d|0))e=m;else{f=h;e=m;do{i[e>>0]=i[f>>0]|0;f=f+1|0;e=(k[o>>2]|0)+1|0;k[o>>2]=e}while((f|0)!=(d|0))}if((g|0)>0){d=h;h=e}else{o=b;return o|0}}else h=m;g=h-(b+j)|0;e=b+g|0;if(e>>>0>>0){f=h;do{i[f>>0]=i[e>>0]|0;e=e+1|0;f=(k[o>>2]|0)+1|0;k[o>>2]=f}while((e|0)!=(m|0))}if(g|0)zi(h+(0-g)|0,b|0,g|0)|0;if((d|0)==(c|0)){o=b;return o|0}else e=b;while(1){i[e>>0]=i[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return b|0}e=e-h+j|0;if((e|0)<0)Kk(a);j=f-h|0;f=j<<1;f=j>>>0<1073741823?(f>>>0>>0?e:f):2147483647;j=b;if(!f)g=0;else g=bj(f)|0;m=g+(j-h)|0;e=m;h=g+f|0;if((c|0)==(d|0)){c=e;f=l}else{f=m;do{i[f>>0]=i[c>>0]|0;f=e+1|0;e=f;c=c+1|0}while((c|0)!=(d|0));c=e;f=k[a>>2]|0}e=j-f|0;g=m+(0-e)|0;if((e|0)>0)Ah(g|0,f|0,e|0)|0;e=(k[o>>2]|0)-j|0;if((e|0)>0){Ah(c|0,b|0,e|0)|0;c=c+e|0;b=k[a>>2]|0}else b=f;k[a>>2]=g;k[o>>2]=c;k[n>>2]=h;if(!b){o=m;return o|0}Fl(b);o=m;return o|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=bj(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];dh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3488;d=a;return d|0}case 2:{e=bj(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];b=e+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];dh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3552;return e|0}case 3:{e=bj(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];b=e+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];dh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3616;d=e+60|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Xd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(a|0){case 1:{a=bj(60)|0;k[a>>2]=3168;k[a+4>>2]=b;k[a+8>>2]=k[c>>2];b=a+12|0;e=c+4|0;k[b>>2]=k[e>>2];k[b+4>>2]=k[e+4>>2];k[b+8>>2]=k[e+8>>2];k[b+12>>2]=k[e+12>>2];k[b+16>>2]=k[e+16>>2];dh(a+32|0,c+24|0);c=a+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[a>>2]=3296;d=a;return d|0}case 2:{e=bj(60)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];b=e+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];dh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3360;return e|0}case 3:{e=bj(88)|0;k[e>>2]=3168;k[e+4>>2]=b;k[e+8>>2]=k[c>>2];b=e+12|0;a=c+4|0;k[b>>2]=k[a>>2];k[b+4>>2]=k[a+4>>2];k[b+8>>2]=k[a+8>>2];k[b+12>>2]=k[a+12>>2];k[b+16>>2]=k[a+16>>2];dh(e+32|0,c+24|0);c=e+44|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[c+12>>2]=k[d+12>>2];k[e>>2]=3424;d=e+60|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;return e|0}default:{e=0;return e|0}}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=vf(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=wf(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=xf(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=zf(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=Af(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=Df(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0;p=a+12|0;j=b+8|0;f=j;m=k[f>>2]|0;f=k[f+4>>2]|0;o=b+16|0;n=o;c=k[n>>2]|0;n=Vj(c|0,k[n+4>>2]|0,4,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&m>>>0>>0){a=0;return a|0}c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[p>>0]=c;i[p+1>>0]=c>>8;i[p+2>>0]=c>>16;i[p+3>>0]=c>>24;g=o;g=Vj(k[g>>2]|0,k[g+4>>2]|0,4,0)|0;d=o;k[d>>2]=g;k[d+4>>2]=M;d=a+4|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(c>>>0<=e>>>0){if(c>>>0>>0?(h=f+(c<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{kg(a,c-e|0);c=k[p>>2]|0}if(!c){a=1;return a|0}n=j;m=k[n>>2]|0;n=k[n+4>>2]|0;c=o;j=0;d=k[c+4>>2]|0;c=k[c>>2]|0;a:while(1){if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break}h=k[b>>2]|0;e=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;g=o;k[g>>2]=c;k[g+4>>2]=d;e=e&255;g=e&3;e=e>>>2;if(g){f=0;do{if(!((n|0)>(d|0)|(n|0)==(d|0)&m>>>0>c>>>0)){c=0;d=15;break a}q=i[h+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;d=M;r=o;k[r>>2]=c;k[r+4>>2]=d;e=(q&255)<<(f<<3|6)|e;f=f+1|0}while((f|0)<(g|0))}f=k[a>>2]|0;k[f+(j<<2)>>2]=e;j=j+1|0;e=k[p>>2]|0;if(j>>>0>=e>>>0){d=14;break}}if((d|0)==14){r=Ef(a+16|0,f,e)|0;return r|0}else if((d|0)==15)return c|0;return 0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;k[a>>2]=b;break a}case 10:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(k[c>>2]|0)+(4-1)&~(4-1);b=k[d>>2]|0;k[c>>2]=d+4;d=a;k[d>>2]=b;k[d+4>>2]=0;break a}case 12:{d=(k[c>>2]|0)+(8-1)&~(8-1);b=d;e=k[b>>2]|0;b=k[b+4>>2]|0;k[c>>2]=d+8;d=a;k[d>>2]=e;k[d+4>>2]=b;break a}case 13:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&65535;k[e+4>>2]=0;break a}case 15:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;d=(d&255)<<24>>24;e=a;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(k[c>>2]|0)+(4-1)&~(4-1);d=k[e>>2]|0;k[c>>2]=e+4;e=a;k[e>>2]=d&255;k[e+4>>2]=0;break a}case 17:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}case 18:{e=(k[c>>2]|0)+(8-1)&~(8-1);f=+p[e>>3];k[c>>2]=e+8;p[a>>3]=f;break a}default:break a}while(0);while(0);return}function ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;q=b+84|0;i[q>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ff(l,m-e|0,4660);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}n=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=b+68|0;a=c+80|0;j=c+84|0;h=0;while(1){c=k[a>>2]|0;if((h|0)>=(((k[j>>2]|0)-c|0)/12|0|0)){d=9;break}e=h*3|0;f=k[(k[n>>2]|0)+12>>2]|0;d=k[f+(k[(k[p>>2]|0)+(h*12|0)+(((e>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}if(i[q>>0]|0){d=12;break}g=k[l>>2]|0;k[g+(k[c+(h*12|0)>>2]<<2)>>2]=d;d=e+1|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+4>>2]<<2)>>2]=d;d=e+2|0;d=k[f+(k[(k[p>>2]|0)+(((d>>>0)/3|0)*12|0)+(((d>>>0)%3|0)<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=13;break}k[g+(k[c+(h*12|0)+8>>2]<<2)>>2]=d;h=h+1|0;if((h|0)>=(o|0)){c=1;d=13;break}}if((d|0)==9)Ja(10363,10344,64,10358);else if((d|0)==12)Ja(10417,10436,80,10468);else if((d|0)==13)return c|0;return 0}function fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+16|0;n=t+4|0;o=t;c=k[b>>2]|0;k[n>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){k[n+4>>2]=((b|0)%3|0|0)==0?c+-2|0:b;if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}}else{k[n+4>>2]=c;b=c}while(0);k[n+8>>2]=b;j=a+228|0;l=a+232|0;i=a+320|0;h=0;while(1){if((c|0)>=0?(k[(k[(k[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((k[l>>2]|0)!=(k[j>>2]|0)){b=0;do{if(Ih((k[i>>2]|0)+(b<<4)|0)|0){a=k[j>>2]|0;k[o>>2]=c;d=a+(b*116|0)+108|0;e=k[d>>2]|0;if(e>>>0<(k[a+(b*116|0)+112>>2]|0)>>>0){k[e>>2]=c;k[d>>2]=e+4}else vg(a+(b*116|0)+104|0,o)}b=b+1|0}while(b>>>0<(((k[l>>2]|0)-(k[j>>2]|0)|0)/116|0)>>>0)}}else s=11;if((s|0)==11?(s=0,p=k[l>>2]|0,q=k[j>>2]|0,(p|0)!=(q|0)):0){g=0;b=q;a=p;do{d=b;k[o>>2]=c;e=d+(g*116|0)+108|0;f=k[e>>2]|0;if(f>>>0<(k[d+(g*116|0)+112>>2]|0)>>>0){k[f>>2]=c;k[e>>2]=f+4}else{vg(d+(g*116|0)+104|0,o);b=k[j>>2]|0;a=k[l>>2]|0}g=g+1|0}while(g>>>0<((a-b|0)/116|0)>>>0)}b=h+1|0;if((b|0)==3)break;h=b;c=k[n+(b<<2)>>2]|0}r=t;return 1}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)>>>0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*2.3283064365386963e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[b>>0]|l[b+1>>0]<<8|l[b+2>>0]<<16|l[b+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d*4.656612873077393e-10;g=1;return g|0}default:{g=0;return g|0}}return 0}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;if(!(Fc(a,b)|0)){n=0;return n|0}l=a+24|0;m=a+4|0;n=a+8|0;f=(k[n>>2]|0)-(k[m>>2]|0)>>2;g=a+28|0;c=k[g>>2]|0;e=k[l>>2]|0;d=c-e>>2;if(f>>>0<=d>>>0){if(f>>>0>>0?(h=e+(f<<2)|0,(c|0)!=(h|0)):0)do{j=c+-4|0;k[g>>2]=j;c=k[j>>2]|0;k[j>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[g>>2]|0}while((c|0)!=(h|0))}else Te(l,f-d|0);f=b+8|0;if(((k[n>>2]|0)-(k[m>>2]|0)|0)<=0){n=1;return n|0}g=b+16|0;h=a+16|0;j=a+4|0;e=0;while(1){o=f;p=k[o+4>>2]|0;d=g;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((p|0)>(d|0)|((p|0)==(d|0)?(k[o>>2]|0)>>>0>c>>>0:0))){c=0;d=17;break}o=i[(k[b>>2]|0)+c>>0]|0;c=Vj(c|0,d|0,1,0)|0;p=g;k[p>>2]=c;k[p+4>>2]=M;p=(k[l>>2]|0)+(e<<2)|0;o=Xa[k[(k[a>>2]|0)+20>>2]&63](a,o)|0;c=k[p>>2]|0;k[p>>2]=o;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[(k[l>>2]|0)+(e<<2)>>2]|0;if(!c){c=0;d=17;break}if(!(Pa[k[(k[c>>2]|0)+8>>2]&31](c,k[h>>2]|0,k[(k[j>>2]|0)+(e<<2)>>2]|0)|0)){c=0;d=17;break}e=e+1|0;if((e|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){c=1;d=17;break}}if((d|0)==17)return c|0;return 0}function je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;h=d;f=k[h+4>>2]|0;j=b+16|0;g=j;c=k[g>>2]|0;g=k[g+4>>2]|0;if(!((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>c>>>0:0))){j=0;return j|0}i[a+12>>0]=i[(k[b>>2]|0)+c>>0]|0;g=j;h=k[g>>2]|0;g=k[g+4>>2]|0;e=Vj(h|0,g|0,1,0)|0;f=j;k[f>>2]=e;k[f+4>>2]=M;f=d;d=k[f>>2]|0;f=k[f+4>>2]|0;g=Vj(h|0,g|0,5,0)|0;h=M;if((f|0)<(h|0)|(f|0)==(h|0)&d>>>0>>0){j=0;return j|0}c=k[b>>2]|0;e=c+e|0;e=l[e>>0]|l[e+1>>0]<<8|l[e+2>>0]<<16|l[e+3>>0]<<24;b=j;k[b>>2]=g;k[b+4>>2]=h;f=Ej(d|0,f|0,g|0,h|0)|0;b=M;if(0>(b|0)|0==(b|0)&e>>>0>f>>>0){j=0;return j|0}c=c+g|0;if((e|0)<1){j=0;return j|0}k[a>>2]=c;d=e+-1|0;b=c+d|0;a:do switch((l[b>>0]|0)>>>6&3){case 0:{k[a+4>>2]=d;d=(l[b>>0]|0)&63;c=a+8|0;k[c>>2]=d;break}case 1:if((e|0)<2){j=0;return j|0}else{k[a+4>>2]=e+-2;d=c+e+-2|0;d=(l[d+1>>0]|0)<<8&16128|(l[d>>0]|0);c=a+8|0;k[c>>2]=d;break a}case 2:if((e|0)<3){j=0;return j|0}else{k[a+4>>2]=e+-3;d=c+e+-3|0;d=(l[d+1>>0]|0)<<8|(l[d>>0]|0)|(l[d+2>>0]|0)<<16&4128768;c=a+8|0;k[c>>2]=d;break a}default:{j=0;return j|0}}while(0);a=d+4096|0;k[c>>2]=a;if(a>>>0>1048575){j=0;return j|0}h=Vj(g|0,h|0,e|0,0)|0;k[j>>2]=h;k[j+4>>2]=M;j=1;return j|0}function ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=k[a+8>>2]|0;j=a+76|0;c=k[j>>2]|0;m=k[c+64>>2]|0;r=b+84|0;i[r>>0]=0;l=b+68|0;d=b+72|0;g=k[d>>2]|0;f=k[l>>2]|0;e=g-f>>2;if(m>>>0<=e>>>0){if(m>>>0>>0?(h=f+(m<<2)|0,(g|0)!=(h|0)):0)k[d>>2]=g+(~((g+-4-h|0)>>>2)<<2)}else{Ff(l,m-e|0,4660);m=k[j>>2]|0;c=m;m=k[m+64>>2]|0}p=(k[c+84>>2]|0)-(k[c+80>>2]|0)|0;q=(p|0)/12|0;if((p|0)<=0){r=1;return r|0}p=n+28|0;o=a+80|0;n=b+68|0;a=c+80|0;l=c+84|0;j=0;while(1){c=k[a>>2]|0;if((j|0)>=(((k[l>>2]|0)-c|0)/12|0|0)){d=9;break}e=j*3|0;f=k[p>>2]|0;g=k[(k[o>>2]|0)+12>>2]|0;d=k[g+(k[f+(e<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}if(i[r>>0]|0){d=12;break}h=k[n>>2]|0;k[h+(k[c+(j*12|0)>>2]<<2)>>2]=d;d=k[g+(k[f+(e+1<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+4>>2]<<2)>>2]=d;d=k[g+(k[f+(e+2<<2)>>2]<<2)>>2]|0;if(d>>>0>=m>>>0){c=0;d=14;break}k[h+(k[c+(j*12|0)+8>>2]<<2)>>2]=d;j=j+1|0;if((j|0)>=(q|0)){c=1;d=14;break}}if((d|0)==9)Ja(10363,10344,64,10358);else if((d|0)==12)Ja(10417,10436,80,10468);else if((d|0)==14)return c|0;return 0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;m=o+12|0;l=o;d=b*3|0;k[m>>2]=0;n=m+4|0;k[n>>2]=0;k[m+8>>2]=0;do if(b)if(d>>>0>1073741823)Kk(m);else{i=b*12|0;c=bj(i)|0;k[m>>2]=c;j=c+(d<<2)|0;k[m+8>>2]=j;Jh(c|0,0,i|0)|0;k[n>>2]=j;break}else c=0;while(0);if(xg(d,1,k[a+20>>2]|0,c)|0)if((b|0)>0){e=a+24|0;f=l+4|0;g=l+8|0;a=0;c=0;d=0;while(1){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;j=k[m>>2]|0;p=k[j+(c<<2)>>2]|0;h=p>>>1;h=((p&1|0)==0?h:0-h|0)+d|0;k[l>>2]=h;p=k[j+(c+1<<2)>>2]|0;i=p>>>1;h=((p&1|0)==0?i:0-i|0)+h|0;k[f>>2]=h;j=k[j+(c+2<<2)>>2]|0;i=j>>>1;d=((j&1|0)==0?i:0-i|0)+h|0;k[g>>2]=d;h=k[e>>2]|0;i=h+84|0;j=k[i>>2]|0;if((j|0)==(k[h+88>>2]|0))fg(h+80|0,l);else{k[j>>2]=k[l>>2];k[j+4>>2]=k[l+4>>2];k[j+8>>2]=k[l+8>>2];k[i>>2]=(k[i>>2]|0)+12}a=a+1|0;if((a|0)>=(b|0)){d=1;break}else c=c+3|0}}else d=1;else d=0;a=k[m>>2]|0;if(!a){r=o;return d|0}c=k[n>>2]|0;if((c|0)!=(a|0))k[n>>2]=c+(~((c+-4-a|0)>>>2)<<2);Fl(a);r=o;return d|0}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535)<<16>>16);o[c>>2]=(i[a+32>>0]|0)==0?d:d/32767.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4648;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;do if(e|0)if((e|0)<0)Kk(f);else{e=((e+-1|0)>>>5)+1|0;o=bj(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ge(f,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)Kk(f);o=((e+-1|0)>>>5)+1|0;a=bj(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ge(f,i,j);r=n;return}function oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=(Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[b>>0]|l[b+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&65535);o[c>>2]=(i[a+32>>0]|0)==0?d:d/65535.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;j=n+24|0;i=n+16|0;l=n+8|0;m=n;k[a>>2]=4604;k[a+4>>2]=k[b+4>>2];f=a+8|0;g=b+8|0;k[f>>2]=0;h=a+12|0;k[h>>2]=0;c=a+16|0;k[c>>2]=0;d=b+12|0;e=k[d>>2]|0;do if(e|0)if((e|0)<0)Kk(f);else{e=((e+-1|0)>>>5)+1|0;o=bj(e<<2)|0;k[f>>2]=o;k[h>>2]=0;k[c>>2]=e;g=k[g>>2]|0;k[l>>2]=g;k[l+4>>2]=0;h=k[d>>2]|0;k[m>>2]=g+(h>>>5<<2);k[m+4>>2]=h&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ge(f,i,j);break}while(0);f=a+20|0;k[f>>2]=0;g=a+24|0;k[g>>2]=0;c=a+28|0;k[c>>2]=0;d=b+24|0;e=k[d>>2]|0;if(!e){r=n;return}if((e|0)<0)Kk(f);o=((e+-1|0)>>>5)+1|0;a=bj(o<<2)|0;k[f>>2]=a;k[g>>2]=0;k[c>>2]=o;b=k[b+20>>2]|0;k[l>>2]=b;k[l+4>>2]=0;o=k[d>>2]|0;k[m>>2]=b+(o>>>5<<2);k[m+4>>2]=o&31;k[i>>2]=k[l>>2];k[i+4>>2]=k[l+4>>2];k[j>>2]=k[m>>2];k[j+4>>2]=k[m+4>>2];Ge(f,i,j);r=n;return}function qe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;m=g;if(((d-g|0)/12|0)>>>0>>0){f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(m|0))k[d>>2]=e+(~(((e+-12-g|0)>>>0)/12|0)*12|0);Fl(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>357913941)Kk(a);m=(d-0|0)/12|0;d=m<<1;d=m>>>0<178956970?(d>>>0>>0?b:d):357913941;if(d>>>0>357913941)Kk(a);m=bj(d*12|0)|0;e=a+4|0;k[e>>2]=m;k[a>>2]=m;k[h>>2]=m+(d*12|0);d=m;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[e>>2]|0)+12|0;k[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}else{l=a+4|0;j=k[l>>2]|0;f=(j-g|0)/12|0;g=f>>>0>>0;d=g?f:b;i=j;if(d|0){a=c+4|0;h=c+8|0;e=m;while(1){k[e>>2]=k[c>>2];k[e+4>>2]=k[a>>2];k[e+8>>2]=k[h>>2];d=d+-1|0;if(!d)break;else e=e+12|0}}if(g){d=b-f|0;b=j;do{k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];b=(k[l>>2]|0)+12|0;k[l>>2]=b;d=d+-1|0}while((d|0)!=0);return}b=m+(b*12|0)|0;if((i|0)==(b|0))return;k[l>>2]=i+(~(((i+-12-b|0)>>>0)/12|0)*12|0);return}}function re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s+40|0;p=s+32|0;q=s+24|0;i=s+16|0;j=s+8|0;l=s;m=k[c>>2]|0;n=a+8|0;f=k[n>>2]<<1;if((m|0)>(f|0))Ja(7564,7230,83,7599);g=k[c+4>>2]|0;if((g|0)>(f|0))Ja(7617,7230,84,7599);h=k[b>>2]|0;if((h|0)>(f|0))Ja(7652,7230,85,7599);b=k[b+4>>2]|0;if((b|0)>(f|0))Ja(7687,7230,86,7599);if((m|0)<=-1)Ja(7462,7230,87,7599);if((g|0)<=-1)Ja(7484,7230,88,7599);if((h|0)<=-1)Ja(7722,7230,89,7599);if((b|0)<=-1)Ja(7744,7230,90,7599);k[i>>2]=h;k[i+4>>2]=b;k[j>>2]=m;k[j+4>>2]=g;Pd(q,a,i,j);k[l>>2]=k[q>>2];c=q+4|0;k[l+4>>2]=k[c>>2];k[p>>2]=m;k[p+4>>2]=g;Kd(o,a,p,l);n=k[n>>2]|0;l=h-n|0;j=b-n|0;p=(k[o>>2]|0)-n|0;m=(k[o+4>>2]|0)-n|0;a=0-l|0;j=((j|0)<0?(((l|0)>-1?l:a)|0)==(n|0):0)?0-j|0:j;o=0-p|0;m=((m|0)<0?(((p|0)>-1?p:o)|0)==(n|0):0)?0-m|0:m;if((j|0)==(m|0)?((((l|0)<0?(((j|0)>-1?j:0-j|0)|0)==(n|0):0)?a:l)|0)==((((p|0)<0?(((m|0)>-1?m:0-m|0)|0)==(n|0):0)?o:p)|0):0){k[d+(e<<2)>>2]=k[q>>2];k[d+(e+1<<2)>>2]=k[c>>2];r=s;return}else Ja(7766,7230,96,7599)}function se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0;w=r;r=r+32|0;v=w+16|0;u=w;f=+o[d+4>>2];if(!(f>=0.0))Ja(9692,9712,66,9769);t=(1<>2])+-1|0;Tk(v);gk(v,f,t);d=k[b>>2]|0;if((d|0)==(k[c>>2]|0)){u=e;u=k[u>>2]|0;e=e+4|0;e=k[e>>2]|0;v=a;c=v;k[c>>2]=u;v=v+4|0;k[v>>2]=e;r=w;return}m=v+4|0;l=e+4|0;h=u+4|0;j=u+8|0;s=k[e>>2]|0;n=s+84|0;p=s+68|0;q=s+40|0;s=s+64|0;g=k[l>>2]|0;do{b=(k[d>>2]|0)-t|0;C=(b|0)<0;f=+o[m>>2];B=f*+((C?0-b|0:b)|0);y=+o[v>>2];b=(k[d+4>>2]|0)-t|0;A=(b|0)<0;z=f*+((A?0-b|0:b)|0);b=(k[d+8>>2]|0)-t|0;x=(b|0)<0;f=f*+((x?0-b|0:b)|0);b=g;g=g+1|0;k[l>>2]=g;o[u>>2]=y*(C?-B:B);o[h>>2]=y*(A?-z:z);o[j>>2]=y*(x?-f:f);if(!(i[n>>0]|0))b=k[(k[p>>2]|0)+(b<<2)>>2]|0;A=q;C=k[A>>2]|0;A=_i(b|0,((b|0)<0)<<31>>31|0,C|0,k[A+4>>2]|0)|0;Ah((k[k[s>>2]>>2]|0)+A|0,u|0,C|0)|0;d=d+12|0}while((d|0)!=(k[c>>2]|0));A=e;v=A;v=k[v>>2]|0;A=A+4|0;A=k[A>>2]|0;C=a;x=C;k[x>>2]=v;C=C+4|0;k[C>>2]=A;r=w;return}function te(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;c=i[(k[a+8>>2]|0)+24>>0]|0;g=a+36|0;f=Cl(c>>>0>1073741823?-1:c<<2)|0;b=k[g>>2]|0;k[g>>2]=f;if(b|0)Dl(b);e=a+4|0;f=k[(k[e>>2]|0)+20>>2]|0;b=c<<2;n=f+8|0;j=k[n>>2]|0;n=k[n+4>>2]|0;c=f+16|0;h=c;d=k[h>>2]|0;h=Vj(d|0,k[h+4>>2]|0,b|0,0)|0;m=M;if((n|0)<(m|0)|(n|0)==(m|0)&j>>>0>>0){n=0;return n|0}Ah(k[g>>2]|0,(k[f>>2]|0)+d|0,b|0)|0;h=c;h=Vj(k[h>>2]|0,k[h+4>>2]|0,b|0,0)|0;b=c;k[b>>2]=h;k[b+4>>2]=M;b=(k[e>>2]|0)+20|0;c=k[b>>2]|0;h=c+8|0;m=k[h>>2]|0;h=k[h+4>>2]|0;d=c+16|0;n=d;e=k[n>>2]|0;n=Vj(e|0,k[n+4>>2]|0,4,0)|0;j=M;if((h|0)<(j|0)|(h|0)==(j|0)&m>>>0>>0){n=0;return n|0}m=a+40|0;n=(k[c>>2]|0)+e|0;n=l[n>>0]|l[n+1>>0]<<8|l[n+2>>0]<<16|l[n+3>>0]<<24;i[m>>0]=n;i[m+1>>0]=n>>8;i[m+2>>0]=n>>16;i[m+3>>0]=n>>24;m=d;m=Vj(k[m>>2]|0,k[m+4>>2]|0,4,0)|0;n=d;k[n>>2]=m;k[n+4>>2]=M;b=k[b>>2]|0;n=b+8|0;m=k[n+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(k[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}b=i[(k[b>>2]|0)+d>>0]|0;m=Vj(d|0,e|0,1,0)|0;n=c;k[n>>2]=m;k[n+4>>2]=M;if((b&255)>31){n=0;return n|0}k[a+32>>2]=b&255;n=1;return n|0}function ue(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;h=q+40|0;j=q;c=j;b=c+40|0;do{k[c>>2]=k[a>>2];c=c+4|0;a=a+4|0}while((c|0)<(b|0));i[h>>0]=0;i[h+1>>0]=0;i[h+2>>0]=0;i[h+3>>0]=0;i[h+4>>0]=0;i[h+5>>0]=0;g=j+8|0;f=k[g>>2]|0;g=k[g+4>>2]|0;a=j+16|0;c=a;b=k[c>>2]|0;c=k[c+4>>2]|0;d=Vj(b|0,c|0,5,0)|0;e=M;if(((((!((g|0)<(e|0)|(g|0)==(e|0)&f>>>0>>0)?(l=k[j>>2]|0,s=l+b|0,i[h>>0]=i[s>>0]|0,i[h+1>>0]=i[s+1>>0]|0,i[h+2>>0]=i[s+2>>0]|0,i[h+3>>0]=i[s+3>>0]|0,i[h+4>>0]=i[s+4>>0]|0,s=a,k[s>>2]=d,k[s+4>>2]=e,((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>d>>>0)&(Yh(h,11143)|0)==0):0)?(s=Vj(b|0,c|0,6,0)|0,h=M,e=a,k[e>>2]=s,k[e+4>>2]=h,(g|0)>(h|0)|(g|0)==(h|0)&f>>>0>s>>>0):0)?(m=Vj(b|0,c|0,7,0)|0,s=M,h=a,k[h>>2]=m,k[h+4>>2]=s,(g|0)>(s|0)|(g|0)==(s|0)&f>>>0>m>>>0):0)?(n=i[l+m>>0]|0,s=Vj(b|0,c|0,8,0)|0,m=M,l=a,k[l>>2]=s,k[l+4>>2]=m,(g|0)>(m|0)|(g|0)==(m|0)&f>>>0>s>>>0):0)?(p=Vj(b|0,c|0,9,0)|0,o=a,k[o>>2]=p,k[o+4>>2]=M,o=Vj(b|0,c|0,11,0)|0,p=M,!((g|0)<(p|0)|(g|0)==(p|0)&f>>>0>>0)):0){s=a;k[s>>2]=o;k[s+4>>2]=p;s=n&255;p=j+24|0;Il(p);r=q;return s|0}s=-1;p=j+24|0;Il(p);r=q;return s|0}function ve(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=r;r=r+16|0;i=j;f=k[a+4>>2]|0;if((c|0)<=-1)Ja(9535,9551,54,9579);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(c|0))Ja(9589,9551,55,9579);f=k[e+(c<<2)>>2]|0;if(!((b+-1|0)>>>0<3&(Ta[k[(k[a>>2]|0)+8>>2]&127](a)|0)==1)){i=0;r=j;return i|0}g=Ta[k[(k[a>>2]|0)+36>>2]&127](a)|0;h=Xa[k[(k[a>>2]|0)+44>>2]&63](a,c)|0;do if(!((g|0)==0|(h|0)==0)){e=Xa[k[(k[a>>2]|0)+40>>2]&63](a,c)|0;if(!e){k[i>>2]=k[a+24>>2];k[i+4>>2]=g;k[i+12>>2]=h;k[i+8>>2]=h+12;e=Xd(b,f,d,i)|0;if(!e)e=0;else break;i=e;r=j;return i|0}else{k[i>>2]=k[a+24>>2];k[i+4>>2]=e;k[i+12>>2]=h;k[i+8>>2]=h+12;e=Wd(b,f,d,i)|0;if(!e)e=0;else break;i=e;r=j;return i|0}}else e=0;while(0);i=e;r=j;return i|0}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;d=+(i[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+(((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255)<<24>>24);o[c>>2]=(i[a+32>>0]|0)==0?d:d/127.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0;switch(i[a+24>>0]|0){case 1:{f=k[b>>2]|0;b=a+48|0;e=k[b>>2]|0;b=k[b+4>>2]|0;g=a+40|0;b=Vj(_i(k[g>>2]|0,k[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,M|0,e|0,b|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+b>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;c=1;return c|0}case 2:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 3:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0;d=+(l[(k[k[a>>2]>>2]|0)+g>>0]|0);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}case 4:{e=k[b>>2]|0;g=a+48|0;f=k[g>>2]|0;g=k[g+4>>2]|0;b=a+40|0;g=(Vj(_i(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,M|0,f|0,g|0)|0)+(k[k[a>>2]>>2]|0)|0;d=+((l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24)&255);o[c>>2]=(i[a+32>>0]|0)==0?d:d/255.0;g=1;return g|0}default:{g=0;return g|0}}return 0}function ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;l=o;m=a+8|0;d=k[m>>2]|0;n=a+4|0;f=k[n>>2]|0;if(d-f>>2>>>0>=b>>>0){Jh(f|0,0,b<<2|0)|0;k[n>>2]=f+(b<<2);r=o;return}e=k[a>>2]|0;c=(f-e>>2)+b|0;if(c>>>0>1073741823)Kk(a);j=d-e|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;c=f-e>>2;k[l+12>>2]=0;k[l+16>>2]=a+8;do if(g)if(g>>>0>1073741823){o=La(4)|0;pl(o);wa(o|0,736,68)}else{d=bj(g<<2)|0;break}else d=0;while(0);k[l>>2]=d;e=d+(c<<2)|0;i=l+8|0;h=l+4|0;k[h>>2]=e;j=l+12|0;k[j>>2]=d+(g<<2);Jh(e|0,0,b<<2|0)|0;k[i>>2]=e+(b<<2);e=k[a>>2]|0;c=k[n>>2]|0;if((c|0)==(e|0)){f=h;d=k[h>>2]|0}else{d=k[h>>2]|0;do{c=c+-4|0;b=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=b;d=(k[h>>2]|0)+-4|0;k[h>>2]=d}while((c|0)!=(e|0));f=h;e=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=d;k[f>>2]=e;k[n>>2]=k[i>>2];k[i>>2]=c;n=k[m>>2]|0;k[m>>2]=k[j>>2];k[j>>2]=n;k[l>>2]=k[f>>2];sg(l);r=o;return}function ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)zi(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=((c+-4-a|0)>>>2)+1|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+(e<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Fl(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)Kk(a);l=d-0|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823)Kk(a);f=bj(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=((c+-4-m|0)>>>2)+1|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+(e<<2);return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=b;g=c-m>>2;h=a+8|0;d=k[h>>2]|0;l=k[a>>2]|0;i=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;h=(k[j>>2]|0)-l>>2;g=g>>>0>h>>>0;h=b+(h<<2)|0;f=g?h:c;a=f;d=a-m|0;e=d>>2;if(e|0)zi(l|0,b|0,d|0)|0;d=i+(e<<2)|0;if(!g){b=k[j>>2]|0;if((b|0)==(d|0))return;k[j>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((f|0)==(c|0))return;f=k[j>>2]|0;e=c+-4-a|0;b=h;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[j>>2]=f+((e>>>2)+1<<2);return}f=l;if(l){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-l|0)>>>2)<<2);Fl(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(g>>>0>1073741823)Kk(a);l=d-0|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823)Kk(a);f=bj(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);if((b|0)==(c|0))return;e=c+-4-m|0;d=f;while(1){k[d>>2]=k[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}k[g>>2]=f+((e>>>2)+1<<2);return}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;if(d-g>>3>>>0>=b>>>0){h=a+4|0;a=k[h>>2]|0;f=a-g>>3;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){m=c;l=k[m+4>>2]|0;j=e;k[j>>2]=k[m>>2];k[j+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(g){e=b-f|0;d=e;f=a;while(1){j=c;l=k[j+4>>2]|0;m=f;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else f=f+8|0}k[h>>2]=a+(e<<3);return}else{d=i+(b<<3)|0;if((a|0)==(d|0))return;k[h>>2]=a+(~((a+-8-d|0)>>>3)<<3);return}}f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-8-g|0)>>>3)<<3);Fl(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>536870911)Kk(a);m=d-0|0;d=m>>2;d=m>>3>>>0<268435455?(d>>>0>>0?b:d):536870911;if(d>>>0>536870911)Kk(a);f=bj(d<<3)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<3);d=b;e=f;while(1){j=c;l=k[j+4>>2]|0;m=e;k[m>>2]=k[j>>2];k[m+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}k[g>>2]=f+(b<<3);return}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=k[a>>2]|0;n=a+4|0;c=k[n>>2]|0;j=m;if((c|0)==(m|0))d=m;else{d=c+(~((c+-4-j|0)>>>2)<<2)|0;k[n>>2]=d;c=d}s=a+16|0;k[s>>2]=0;t=a+12|0;k[t>>2]=d;i=b+8|0;d=i;p=k[d>>2]|0;d=k[d+4>>2]|0;r=b+16|0;f=r;g=k[f>>2]|0;f=Vj(g|0,k[f+4>>2]|0,4,0)|0;e=M;if((d|0)<(e|0)|(d|0)==(e|0)&p>>>0>>0){b=0;return b|0}q=(k[b>>2]|0)+g|0;q=l[q>>0]|l[q+1>>0]<<8|l[q+2>>0]<<16|l[q+3>>0]<<24;h=r;k[h>>2]=f;k[h+4>>2]=e;h=Ej(p|0,d|0,f|0,e|0)|0;g=M;if(0>(g|0)|0==(g|0)&q>>>0>h>>>0){b=0;return b|0}h=q>>>2;g=c-j>>2;if(h>>>0<=g>>>0)if(h>>>0>>0?(o=m+(h<<2)|0,(c|0)!=(o|0)):0){k[n>>2]=c+(~((c+-4-o|0)>>>2)<<2);c=p}else c=p;else{kg(a,h-g|0);c=i;e=r;f=k[e>>2]|0;e=k[e+4>>2]|0;d=k[c+4>>2]|0;c=k[c>>2]|0}p=Vj(f|0,e|0,q|0,0)|0;o=M;if((d|0)<(o|0)|(d|0)==(o|0)&c>>>0

>>0){b=0;return b|0}Ah(k[a>>2]|0,(k[b>>2]|0)+f|0,q|0)|0;b=r;q=Vj(k[b>>2]|0,k[b+4>>2]|0,q|0,0)|0;b=r;k[b>>2]=q;k[b+4>>2]=M;k[t>>2]=k[a>>2];k[s>>2]=0;b=1;return b|0}function De(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+4|0;c=k[n>>2]|0;e=k[a>>2]|0;d=(c-e>>5)+1|0;if(d>>>0>134217727)Kk(a);l=e;h=c;m=a+8|0;j=(k[m>>2]|0)-e|0;f=j>>4;f=j>>5>>>0<67108863?(f>>>0>>0?d:f):134217727;e=c-e>>5;do if(f)if(f>>>0>134217727){n=La(4)|0;pl(n);wa(n|0,736,68)}else{g=bj(f<<5)|0;break}else g=0;while(0);i=g+(e<<5)|0;d=i;j=g+(f<<5)|0;k[i>>2]=k[b>>2];k[g+(e<<5)+4>>2]=k[b+4>>2];k[g+(e<<5)+8>>2]=k[b+8>>2];k[g+(e<<5)+12>>2]=k[b+12>>2];f=g+(e<<5)+16|0;b=b+16|0;k[f>>2]=k[b>>2];k[f+4>>2]=k[b+4>>2];k[f+8>>2]=k[b+8>>2];k[f+12>>2]=k[b+12>>2];f=i+32|0;if((h|0)!=(l|0)){e=h;c=i;do{h=e;e=e+-32|0;k[c+-32>>2]=k[e>>2];k[c+-28>>2]=k[h+-28>>2];k[c+-24>>2]=k[h+-24>>2];k[c+-20>>2]=k[h+-20>>2];i=c+-16|0;h=h+-16|0;k[i>>2]=k[h>>2];k[i+4>>2]=k[h+4>>2];k[i+8>>2]=k[h+8>>2];k[i+12>>2]=k[h+12>>2];c=d+-32|0;d=c}while((e|0)!=(l|0));c=k[a>>2]|0}k[a>>2]=d;k[n>>2]=f;k[m>>2]=j;if(!c)return;Fl(c);return}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;k[a+4>>2]=k[b+4>>2];h=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;j=b+12|0;c=k[j>>2]|0;if(!c)c=0;else{e=a+16|0;do if(c>>>0>k[e>>2]<<5>>>0){d=k[h>>2]|0;if(d){Fl(d);k[h>>2]=0;k[e>>2]=0;k[a+12>>2]=0;c=k[j>>2]|0}if((c|0)<0)Kk(h);else{f=((c+-1|0)>>>5)+1|0;g=bj(f<<2)|0;k[h>>2]=g;k[a+12>>2]=0;k[e>>2]=f;f=k[j>>2]|0;break}}else{f=c;g=k[h>>2]|0}while(0);zi(g|0,k[i>>2]|0,((f+-1|0)>>>5<<2)+4|0)|0;c=k[j>>2]|0}k[a+12>>2]=c;g=a+20|0;h=b+20|0;e=b+24|0;c=k[e>>2]|0;if(!c)c=0;else{f=a+28|0;do if(c>>>0>k[f>>2]<<5>>>0){d=k[g>>2]|0;if(d){Fl(d);k[g>>2]=0;k[f>>2]=0;k[a+24>>2]=0;c=k[e>>2]|0}if((c|0)<0)Kk(g);else{l=((c+-1|0)>>>5)+1|0;m=bj(l<<2)|0;k[g>>2]=m;k[a+24>>2]=0;k[f>>2]=l;l=k[e>>2]|0;break}}else{l=c;m=k[g>>2]|0}while(0);zi(m|0,k[h>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=k[e>>2]|0}k[a+24>>2]=c;return a|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=c;e=b;g=l-e|0;j=g>>2;h=a+8|0;d=k[h>>2]|0;f=k[a>>2]|0;m=f;if(j>>>0>d-f>>2>>>0){e=f;if(f){d=a+4|0;c=k[d>>2]|0;if((c|0)!=(m|0))k[d>>2]=c+(~((c+-4-f|0)>>>2)<<2);Fl(e);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(j>>>0>1073741823)Kk(a);m=d-0|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?j:d):1073741823;if(d>>>0>1073741823)Kk(a);c=bj(d<<2)|0;e=a+4|0;k[e>>2]=c;k[a>>2]=c;k[h>>2]=c+(d<<2);if((g|0)<=0)return;Ah(c|0,b|0,g|0)|0;k[e>>2]=c+(j<<2);return}i=a+4|0;h=k[i>>2]|0;a=h-f>>2;g=j>>>0>a>>>0;a=g?b+(a<<2)|0:c;f=h;if((a|0)==(b|0))d=m;else{e=a+-4-e|0;d=b;c=m;while(1){k[c>>2]=k[d>>2];d=d+4|0;if((d|0)==(a|0))break;else c=c+4|0}d=m+((e>>>2)+1<<2)|0}if(g){d=l-a|0;if((d|0)<=0)return;Ah(h|0,a|0,d|0)|0;k[i>>2]=(k[i>>2]|0)+(d>>2<<2);return}else{if((f|0)==(d|0))return;k[i>>2]=f+(~((f+-4-d|0)>>>2)<<2);return}}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;n=q+40|0;m=q+32|0;i=q+8|0;j=q;l=q+24|0;p=q+16|0;f=a+4|0;s=k[f>>2]|0;d=b;o=k[d>>2]|0;d=k[d+4>>2]|0;g=c;e=k[g>>2]|0;g=k[g+4>>2]|0;h=e-o<<3;k[f>>2]=s-d+g+h;f=(k[a>>2]|0)+(s>>>5<<2)|0;c=s&31;b=f;if((d|0)!=(c|0)){s=i;k[s>>2]=o;k[s+4>>2]=d;s=j;k[s>>2]=e;k[s+4>>2]=g;k[l>>2]=b;k[l+4>>2]=c;k[m>>2]=k[i>>2];k[m+4>>2]=k[i+4>>2];k[n>>2]=k[j>>2];k[n+4>>2]=k[j+4>>2];Dd(p,m,n,l);r=q;return}c=g-d+h|0;g=o;if((c|0)>0){if(!d){d=0;b=o}else{b=32-d|0;s=(c|0)<(b|0)?c:b;b=-1>>>(b-s|0)&-1<>2]=k[f>>2]&~b|k[g>>2]&b;b=s+d|0;g=g+4|0;c=c-s|0;d=b&31;f=f+(b>>>5<<2)|0;b=g}e=c>>>5;zi(f|0,b|0,e<<2|0)|0;a=c-(e<<5)|0;c=f+(e<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(e<<2)>>2]&d;d=a}}k[p>>2]=b;k[p+4>>2]=d;r=q;return}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;p[a+16>>3]=.5;e=b+8|0;d=k[e>>2]|0;e=k[e+4>>2]|0;g=b+16|0;h=g;c=k[h>>2]|0;h=Vj(c|0,k[h+4>>2]|0,4,0)|0;i=M;if((e|0)<(i|0)|(e|0)==(i|0)&d>>>0>>0){i=0;return i|0}b=k[b>>2]|0;f=b+c|0;f=l[f>>0]|l[f+1>>0]<<8|l[f+2>>0]<<16|l[f+3>>0]<<24;c=g;k[c>>2]=h;k[c+4>>2]=i;e=Ej(d|0,e|0,h|0,i|0)|0;d=M;if(0>(d|0)|0==(d|0)&f>>>0>e>>>0){i=0;return i|0}b=b+h|0;if((f|0)<1){i=0;return i|0}k[a>>2]=b;c=f+-1|0;d=b+c|0;a:do switch((l[d>>0]|0)>>>6&3){case 0:{k[a+4>>2]=c;c=(l[d>>0]|0)&63;b=a+8|0;k[b>>2]=c;break}case 1:if((f|0)<2){i=0;return i|0}else{k[a+4>>2]=f+-2;c=b+f+-2|0;c=(l[c+1>>0]|0)<<8&16128|(l[c>>0]|0);b=a+8|0;k[b>>2]=c;break a}case 2:if((f|0)<3){i=0;return i|0}else{k[a+4>>2]=f+-3;c=b+f+-3|0;c=(l[c+1>>0]|0)<<8|(l[c>>0]|0)|(l[c+2>>0]|0)<<16&4128768;b=a+8|0;k[b>>2]=c;break a}default:{i=0;return i|0}}while(0);a=c+4096|0;k[b>>2]=a;if(a>>>0>1048575){i=0;return i|0}h=Vj(h|0,i|0,f|0,0)|0;i=g;k[i>>2]=h;k[i+4>>2]=M;i=1;return i|0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;d=k[c>>2]|0;m=k[c+4>>2]|0;a:do if((d|0)==(m|0)){n=0;o=a+8|0;p=a+4|0}else{j=k[b>>2]|0;l=a+4|0;h=a+8|0;c=0;b:while(1){f=k[d>>2]|0;g=k[j+(f<<2)>>2]|0;if((g|0)>=(c|0)){c=k[l>>2]|0;b=(k[h>>2]|0)-c|0;if((b|0)>0){a=b>>2;b=0;do{e=k[c+(b<<2)>>2]|0;if(i[e+84>>0]|0)break b;e=k[e+68>>2]|0;k[e+(g<<2)>>2]=k[e+(f<<2)>>2];b=b+1|0}while((b|0)<(a|0))}c=g+1|0}d=d+4|0;if((d|0)==(m|0)){n=c;o=h;p=l;break a}}Ja(10417,10436,80,10468)}while(0);b=k[o>>2]|0;c=k[p>>2]|0;if((b-c|0)>0)h=0;else return;do{d=k[c+(h<<2)>>2]|0;i[d+84>>0]=0;a=d+68|0;d=d+72|0;g=k[d>>2]|0;f=k[a>>2]|0;e=g-f>>2;if(n>>>0<=e>>>0){if(n>>>0>>0?(q=f+(n<<2)|0,(g|0)!=(q|0)):0)k[d>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Ff(a,n-e|0,2900);c=k[p>>2]|0;b=k[o>>2]|0}h=h+1|0}while((h|0)<(b-c>>2|0));return}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=k[b>>2]|0;f=k[a>>2]|0;h=f+(e>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(e&31);h=k[a+64>>2]|0;d=(e|0)<0;b=e+1|0;if(!d?(c=((b|0)%3|0|0)==0?e+-2|0:b,(c|0)>=0):0)b=k[(k[h>>2]|0)+(((c>>>0)/3|0)*12|0)+(((c>>>0)%3|0)<<2)>>2]|0;else b=-1073741824;g=a+12|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d){h=(k[g>>2]|0)+402653184|0;k[h>>2]=k[h>>2]|1;return}b=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;c=(k[g>>2]|0)+(b>>>5<<2)|0;k[c>>2]=k[c>>2]|1<<(b&31);if(d)return;c=k[(k[h+12>>2]|0)+(e<<2)>>2]|0;if((c|0)<=-1)return;i[a+24>>0]=0;b=f+(c>>>5<<2)|0;k[b>>2]=k[b>>2]|1<<(c&31);b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;a=(k[g>>2]|0)+(b>>>5<<2)|0;k[a>>2]=k[a>>2]|1<<(b&31);b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=k[(k[h>>2]|0)+(((b>>>0)/3|0)*12|0)+(((b>>>0)%3|0)<<2)>>2]|0;h=(k[g>>2]|0)+(b>>>5<<2)|0;k[h>>2]=k[h>>2]|1<<(b&31);return}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;i=j[b>>1]|0;l=j[b+2>>1]|0;h=j[b+4>>1]|0;g=j[b+6>>1]|0;b=(((i&65535^318)+239^l&65535)+239^h&65535)+239^g&65535;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((j[b+8>>1]|0)==i<<16>>16?(j[b+10>>1]|0)==l<<16>>16:0)?(j[b+12>>1]|0)==h<<16>>16:0)?(j[b+14>>1]|0)==g<<16>>16:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;h=a+48|0;c=k[h>>2]|0;if(!c){o=0;return o|0}o=a+36|0;k[c+4>>2]=o;if(!(Ta[k[(k[c>>2]|0)+12>>2]&127](c)|0)){o=0;return o|0}m=a+4|0;n=a+8|0;c=k[n>>2]|0;d=k[m>>2]|0;a:do if((c-d|0)>0){g=a+16|0;f=0;c=d;while(1){e=k[(k[g>>2]|0)+4>>2]|0;c=k[c+(f<<2)>>2]|0;if((c|0)<=-1){c=9;break}d=k[e+4>>2]|0;if(((k[e+8>>2]|0)-d>>2|0)<=(c|0)){c=11;break}e=k[h>>2]|0;f=f+1|0;if(!(Xa[k[(k[e>>2]|0)+8>>2]&63](e,k[d+(c<<2)>>2]|0)|0)){l=0;c=15;break}d=k[n>>2]|0;c=k[m>>2]|0;if((f|0)>=(d-c>>2|0)){i=c;j=d;break a}}if((c|0)==9)Ja(9535,9551,62,9579);else if((c|0)==11)Ja(9589,9551,63,9579);else if((c|0)==15)return l|0}else{i=d;j=c}while(0);if((j-i|0)<=0){o=1;return o|0}d=a+24|0;c=0;while(1){l=k[(k[d>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Pa[k[(k[l>>2]|0)+16>>2]&31](l,o,b)|0)){l=0;c=15;break}if((c|0)>=((k[n>>2]|0)-(k[m>>2]|0)>>2|0)){l=1;c=15;break}}if((c|0)==15)return l|0;return 0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,p=0,q=0,s=0,t=0,u=0.0,v=0,w=0;t=r;r=r+16|0;h=t;n=k[a+32>>2]|0;q=a+8|0;c=i[(k[q>>2]|0)+24>>0]|0;m=c<<24>>24;p=m<<2;s=Cl(m>>>0>1073741823?-1:m<<2)|0;Tk(h);gk(h,+o[a+40>>2],(1<>24>0){e=0;f=0;a=0}else{a=0;c=0;while(1){Ah((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+c|0,s|0,p|0)|0;a=a+1|0;if((a|0)==(b|0))break;else c=c+p|0}Dl(s);r=t;return 1}a:while(1){d=0;c=k[n>>2]|0;do{if((k[j>>2]|0)-c>>2>>>0<=a>>>0){a=5;break a}w=a;a=a+1|0;w=k[c+(w<<2)>>2]|0;v=(w|0)<0;u=+o[l>>2]*+((v?0-w|0:w)|0);o[s+(d<<2)>>2]=+o[(k[g>>2]|0)+(d<<2)>>2]+ +o[h>>2]*(v?-u:u);d=d+1|0}while((d|0)<(m|0));Ah((k[k[(k[q>>2]|0)+64>>2]>>2]|0)+f|0,s|0,p|0)|0;e=e+1|0;if(e>>>0>=b>>>0){a=9;break}else f=f+p|0}if((a|0)==5)Jk(n);else if((a|0)==9){Dl(s);r=t;return 1}return 0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;h=p+32|0;n=a+28|0;g=k[n>>2]|0;k[h>>2]=g;o=a+20|0;g=(k[o>>2]|0)-g|0;k[h+4>>2]=g;k[h+8>>2]=b;k[h+12>>2]=c;i=a+60|0;j=a+44|0;f=2;b=g+c|0;while(1){if(!(k[3582]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=h;k[m+8>>2]=f;e=ck(Ca(146,m|0)|0)|0}else{va(70,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=h;k[l+8>>2]=f;e=ck(Ca(146,l|0)|0)|0;sa(0)}if((b|0)==(e|0)){b=6;break}if((e|0)<0){b=8;break}b=b-e|0;d=k[h+4>>2]|0;if(e>>>0<=d>>>0)if((f|0)==2){k[n>>2]=(k[n>>2]|0)+e;f=2;g=h}else g=h;else{g=k[j>>2]|0;k[n>>2]=g;k[o>>2]=g;e=e-d|0;f=f+-1|0;g=h+8|0;d=k[h+12>>2]|0}k[g>>2]=(k[g>>2]|0)+e;k[g+4>>2]=d-e;h=g}if((b|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((b|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((f|0)==2)c=0;else c=c-(k[h+4>>2]|0)|0}r=p;return c|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=i[b>>0]|0;l=i[b+1>>0]|0;h=i[b+2>>0]|0;g=i[b+3>>0]|0;b=(((j&255^318)+239^l&255)+239^h&255)+239^g&255;d=k[a+4>>2]|0;if(!d){l=0;return l|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){l=0;return l|0}b=k[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((i[b+8>>0]|0)==j<<24>>24?(i[b+9>>0]|0)==l<<24>>24:0)?(i[b+10>>0]|0)==h<<24>>24:0)?(i[b+11>>0]|0)==g<<24>>24:0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Pe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=k[h>>2]|0;g=k[a>>2]|0;i=g;if(d-g>>2>>>0>=b>>>0){h=a+4|0;a=k[h>>2]|0;f=a-g>>2;g=f>>>0>>0;d=g?f:b;if(d|0){e=i;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(g){e=b-f|0;d=e;f=a;while(1){k[f>>2]=k[c>>2];d=d+-1|0;if(!d)break;else f=f+4|0}k[h>>2]=a+(e<<2);return}else{d=i+(b<<2)|0;if((a|0)==(d|0))return;k[h>>2]=a+(~((a+-4-d|0)>>>2)<<2);return}}else{f=g;if(g){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(i|0))k[d>>2]=e+(~((e+-4-g|0)>>>2)<<2);Fl(f);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if(b>>>0>1073741823)Kk(a);i=d-0|0;d=i>>1;d=i>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823)Kk(a);f=bj(d<<2)|0;g=a+4|0;k[g>>2]=f;k[a>>2]=f;k[h>>2]=f+(d<<2);d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[g>>2]=f+(b<<2);return}}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k[b>>2]|0;i=k[b+4>>2]|0;j=k[b+8>>2]|0;g=k[b+12>>2]|0;b=(((h^318)+239^i)+239^j)+239^g;d=k[a+4>>2]|0;if(!d){j=0;return j|0}e=d+-1|0;c=(e&d|0)==0;if(c)f=b&e;else f=(b>>>0)%(d>>>0)|0;b=k[(k[a>>2]|0)+(f<<2)>>2]|0;if(!b){j=0;return j|0}b=k[b>>2]|0;if(!b){j=0;return j|0}if(c){while(1){if((k[b+4>>2]&e|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((k[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(f|0)){b=0;a=20;break}if((((k[b+8>>2]|0)==(h|0)?(k[b+12>>2]|0)==(i|0):0)?(k[b+16>>2]|0)==(j|0):0)?(k[b+20>>2]|0)==(g|0):0){a=20;break}b=k[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=b;f=c-g|0;h=a+8|0;d=k[h>>2]|0;e=k[a>>2]|0;j=e;if(f>>>0>(d-e|0)>>>0){if(e){d=a+4|0;if((k[d>>2]|0)!=(j|0))k[d>>2]=j;Fl(j);k[h>>2]=0;k[d>>2]=0;k[a>>2]=0;d=0}if((f|0)<0)Kk(a);j=d-0|0;e=j<<1;e=j>>>0<1073741823?(e>>>0>>0?f:e):2147483647;if((e|0)<0)Kk(a);d=bj(e)|0;f=a+4|0;k[f>>2]=d;k[a>>2]=d;k[h>>2]=d+e;if((b|0)==(c|0))return;do{i[d>>0]=i[b>>0]|0;b=b+1|0;d=(k[f>>2]|0)+1|0;k[f>>2]=d}while((b|0)!=(c|0));return}else{h=a+4|0;d=(k[h>>2]|0)-e|0;a=f>>>0>d>>>0;d=b+d|0;f=a?d:c;e=f-g|0;if(e|0)zi(j|0,b|0,e|0)|0;b=j+e|0;if(!a){if((k[h>>2]|0)==(b|0))return;k[h>>2]=b;return}if((f|0)==(c|0))return;b=k[h>>2]|0;do{i[b>>0]=i[d>>0]|0;d=d+1|0;b=(k[h>>2]|0)+1|0;k[h>>2]=b}while((d|0)!=(c|0));return}}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+20|0;e=k[h>>2]|0;g=e+8|0;f=k[g+4>>2]|0;b=e+16|0;d=b;c=k[d>>2]|0;d=k[d+4>>2]|0;if(!((f|0)>(d|0)|((f|0)==(d|0)?(k[g>>2]|0)>>>0>c>>>0:0))){h=0;return h|0}e=i[(k[e>>2]|0)+c>>0]|0;f=Vj(c|0,d|0,1,0)|0;g=b;k[g>>2]=f;k[g+4>>2]=M;g=e&255;e=e<<24>>24==0;a:do if(!e){b=0;while(1){if(!(Xa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0)){b=0;break}b=b+1|0;if((b|0)>=(g|0))break a}return b|0}while(0);f=a+8|0;b=k[f>>2]|0;c=k[a+12>>2]|0;b:do if((b|0)!=(c|0)){d=a+4|0;while(1){j=k[b>>2]|0;b=b+4|0;if(!(Pa[k[(k[j>>2]|0)+8>>2]&31](j,a,k[d>>2]|0)|0)){b=0;break}if((b|0)==(c|0))break b}return b|0}while(0);c:do if(!e){b=0;while(1){j=k[(k[f>>2]|0)+(b<<2)>>2]|0;b=b+1|0;if(!(Xa[k[(k[j>>2]|0)+12>>2]&63](j,k[h>>2]|0)|0)){b=0;break}if((b|0)>=(g|0))break c}return b|0}while(0);if(!(Ta[k[(k[a>>2]|0)+28>>2]&127](a)|0)){j=0;return j|0}j=Ta[k[(k[a>>2]|0)+32>>2]&127](a)|0;return j|0}function Te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=a+8|0;e=k[m>>2]|0;n=a+4|0;f=k[n>>2]|0;if(e-f>>2>>>0>=b>>>0){Jh(f|0,0,b<<2|0)|0;k[n>>2]=f+(b<<2);return}i=k[a>>2]|0;d=(f-i>>2)+b|0;if(d>>>0>1073741823)Kk(a);c=f;l=i;j=e-i|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?d:g):1073741823;f=f-i>>2;do if(g)if(g>>>0>1073741823){n=La(4)|0;pl(n);wa(n|0,736,68)}else{h=bj(g<<2)|0;break}else h=0;while(0);d=h+(f<<2)|0;Jh(d|0,0,b<<2|0)|0;e=d;j=h+(g<<2)|0;g=h+(f+b<<2)|0;if((c|0)==(l|0))f=i;else{do{c=c+-4|0;i=k[c>>2]|0;k[c>>2]=0;k[d+-4>>2]=i;d=e+-4|0;e=d}while((c|0)!=(l|0));f=k[a>>2]|0;c=k[n>>2]|0}k[a>>2]=e;k[n>>2]=g;k[m>>2]=j;e=f;if((c|0)!=(e|0))do{c=c+-4|0;d=k[c>>2]|0;k[c>>2]=0;if(d|0)Ra[k[(k[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!f)return;Fl(f);return}function Ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;e=k[a+8>>2]|0;f=k[c>>2]|0;g=(f|0)/3|0;if((f|0)<=-3)Ja(10319,10344,63,10358);d=k[e+80>>2]|0;if((g|0)>=(((k[e+84>>2]|0)-d|0)/12|0|0))Ja(10363,10344,64,10358);d=k[d+(g*12|0)+(((f|0)%3|0)<<2)>>2]|0;e=k[a+12>>2]|0;k[h>>2]=d;e=k[e+4>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0))vg(e,h);else{k[g>>2]=d;k[f>>2]=g+4}d=a+4|0;e=k[d>>2]|0;f=e+4|0;g=k[f>>2]|0;if((g|0)==(k[e+8>>2]|0)){vg(e,c);a=k[d>>2]|0;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=i;return}else{k[g>>2]=k[c>>2];k[f>>2]=g+4;a=e;c=a+24|0;h=k[c>>2]|0;b=k[b>>2]|0;a=a+12|0;a=k[a>>2]|0;b=a+(b<<2)|0;k[b>>2]=h;b=k[c>>2]|0;b=b+1|0;k[c>>2]=b;r=i;return}}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=a+4|0;m=k[o>>2]|0;n=k[a>>2]|0;e=n;do if((m|0)==(n|0)){n=a+8|0;d=k[n>>2]|0;l=a+12|0;j=k[l>>2]|0;c=j;if(d>>>0>>0){e=d;g=((c-e>>2)+1|0)/2|0;c=d+(g<<2)|0;e=e-m|0;l=e>>2;f=c+(0-l<<2)|0;if(l){zi(f|0,m|0,e|0)|0;c=f;d=k[n>>2]|0}k[o>>2]=c;k[n>>2]=d+(g<<2);break}e=c-e>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){o=La(4)|0;pl(o);wa(o|0,736,68)}h=bj(e<<2)|0;i=h;c=h+((e+3|0)>>>2<<2)|0;j=c;h=h+(e<<2)|0;if((m|0)==(d|0)){e=j;d=m}else{g=c;e=j;f=m;do{k[g>>2]=k[f>>2];g=e+4|0;e=g;f=f+4|0}while((f|0)!=(d|0));d=k[a>>2]|0}k[a>>2]=i;k[o>>2]=j;k[n>>2]=e;k[l>>2]=h;if(d){Fl(d);c=k[o>>2]|0}}else c=m;while(0);k[c+-4>>2]=k[b>>2];k[o>>2]=(k[o>>2]|0)+-4;return}function We(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Dl(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];zc(a,n,c,d);h=$(d,e)|0;Xf(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Jk(h);return 0}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;l=m;j=i[a+24>>0]|0;k[l>>2]=k[196];k[l+4>>2]=k[197];k[l+8>>2]=k[198];k[l+12>>2]=k[199];j=j<<24>>24;switch(j|0){case 1:{k[e>>2]=b;k[d>>2]=k[e>>2];d=Ec(a,d,l)|0;break}case 2:{k[f>>2]=b;k[d>>2]=k[f>>2];d=cc(a,d,l)|0;break}case 3:{k[g>>2]=b;k[d>>2]=k[g>>2];d=yc(a,d,l)|0;break}case 4:{k[h>>2]=b;k[d>>2]=k[h>>2];d=rc(a,d,l)|0;break}default:{l=0;r=m;return l|0}}if(!d){l=0;r=m;return l|0}ze(c,l,l+(j<<2)|0);l=1;r=m;return l|0}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;i=o+24|0;j=o+16|0;l=o+8|0;n=o;e=a+4|0;p=k[e>>2]|0;m=k[b>>2]|0;d=k[b+4>>2]|0;h=k[c>>2]|0;f=k[c+4>>2]|0;g=h-m<<3;k[e>>2]=p-d+f+g;e=(k[a>>2]|0)+(p>>>5<<2)|0;c=p&31;b=e;if((d|0)!=(c|0)){k[i>>2]=m;k[i+4>>2]=d;k[j>>2]=h;k[j+4>>2]=f;k[l>>2]=b;k[l+4>>2]=c;Id(n,i,j,l);r=o;return}c=f-d+g|0;g=m;if((c|0)>0){if(!d){d=0;b=m}else{p=32-d|0;b=(c|0)<(p|0)?c:p;p=-1>>>(p-b|0)&-1<>2]=k[e>>2]&~p|k[g>>2]&p;d=b+d|0;g=g+4|0;c=c-b|0;e=e+(d>>>5<<2)|0;d=d&31;b=g}f=c>>>5;zi(e|0,b|0,f<<2|0)|0;a=c-(f<<5)|0;c=e+(f<<2)|0;b=c;if((a|0)>0){d=-1>>>(32-a|0);k[c>>2]=k[c>>2]&~d|k[g+(f<<2)>>2]&d;d=a}}k[n>>2]=b;k[n+4>>2]=d;r=o;return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;e=b+8|0;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;f=b+16|0;d=f;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;c=(k[b>>2]|0)+c|0;c=l[c>>0]|l[c+1>>0]<<8|l[c+2>>0]<<16|l[c+3>>0]<<24;i[j>>0]=c;i[j+1>>0]=c>>8;i[j+2>>0]=c>>16;i[j+3>>0]=c>>24;j=f;g=k[j>>2]|0;j=k[j+4>>2]|0;d=Vj(g|0,j|0,4,0)|0;h=f;k[h>>2]=d;k[h+4>>2]=M;h=k[e>>2]|0;e=k[e+4>>2]|0;j=Vj(g|0,j|0,8,0)|0;g=M;if((e|0)<(g|0)|(e|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+d|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=f;h=Vj(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;d=f;k[d>>2]=h;k[d+4>>2]=M;j=1-c+j|0;k[a+20>>2]=j;c=(j|0)/2|0;d=a+24|0;k[d>>2]=c;k[a+28>>2]=0-c;if(j&1|0){j=1;return j|0}k[d>>2]=c+-1;j=1;return j|0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;f=k[i>>2]|0;j=a+4|0;d=k[j>>2]|0;if(((f-d|0)/12|0)>>>0>=b>>>0){do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=(k[j>>2]|0)+12|0;k[j>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=k[a>>2]|0;e=((d-g|0)/12|0)+b|0;if(e>>>0>357913941)Kk(a);h=(f-g|0)/12|0;f=h<<1;f=h>>>0<178956970?(f>>>0>>0?e:f):357913941;d=(d-g|0)/12|0;do if(f)if(f>>>0>357913941){j=La(4)|0;pl(j);wa(j|0,736,68)}else{e=bj(f*12|0)|0;break}else e=0;while(0);h=e+(d*12|0)|0;g=e+(f*12|0)|0;d=h;f=h;do{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];k[d+8>>2]=k[c+8>>2];d=f+12|0;f=d;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;e=(k[j>>2]|0)-b|0;d=h+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ah(d|0,b|0,e|0)|0;k[a>>2]=d;k[j>>2]=f;k[i>>2]=g;if(!b)return;Fl(b);return}function $e(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)Dl(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];_b(a,m,b,d);h=$(d,e)|0;re(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)Jk(h);return 0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=a+8|0;i=k[n>>2]|0;j=a+12|0;m=k[j>>2]|0;e=m;g=i;do if((i|0)==(m|0)){m=a+4|0;l=k[m>>2]|0;d=k[a>>2]|0;c=d;if(l>>>0>d>>>0){d=l;e=((d-c>>2)+1|0)/-2|0;f=l+(e<<2)|0;c=g-d|0;d=c>>2;if(!d)c=l;else{zi(f|0,l|0,c|0)|0;c=k[m>>2]|0}l=f+(d<<2)|0;k[n>>2]=l;k[m>>2]=c+(e<<2);c=l;break}c=e-c>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){n=La(4)|0;pl(n);wa(n|0,736,68)}f=bj(c<<2)|0;g=f;e=f+(c>>>2<<2)|0;h=e;f=f+(c<<2)|0;if((l|0)==(i|0))c=h;else{c=h;d=l;do{k[e>>2]=k[d>>2];e=c+4|0;c=e;d=d+4|0}while((d|0)!=(i|0));d=k[a>>2]|0}k[a>>2]=g;k[m>>2]=h;k[n>>2]=c;k[j>>2]=f;if(d){Fl(d);c=k[n>>2]|0}}else c=i;while(0);k[c>>2]=k[b>>2];k[n>>2]=(k[n>>2]|0)+4;return}function bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;n=p+4|0;o=p;k[a+48>>2]=e;k[a+40>>2]=f;m=a+44|0;l=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[m>>2]|0;k[m>>2]=l;if(d|0)Dl(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;l=d>>2;if((d|0)<=0){r=p;return 1}d=0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[o>>2]=k[f+(d<<2)>>2];k[n>>2]=k[o>>2];tc(a,n,c,d);h=$(d,e)|0;Xf(i,k[m>>2]|0,b,c+(h<<2)|0,h);d=d+1|0;if((d|0)>=(l|0)){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=p;return 1}else if((d|0)==8)Jk(h);return 0}function cf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else{if((a|0)!=(k[b>>2]|0)){h=k[a+8>>2]|0;Qa[k[(k[h>>2]|0)+24>>2]&3](h,b,c,d,e);break}if((k[b+16>>2]|0)!=(c|0)?(h=b+20|0,(k[h>>2]|0)!=(c|0)):0){k[b+32>>2]=d;g=b+44|0;if((k[g>>2]|0)==4)break;f=b+52|0;i[f>>0]=0;d=b+53|0;i[d>>0]=0;a=k[a+8>>2]|0;Wa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,c,1,e);if(i[d>>0]|0)if(!(i[f>>0]|0)){f=1;d=13}else d=17;else{f=0;d=13}do if((d|0)==13){k[h>>2]=c;c=b+40|0;k[c>>2]=(k[c>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0){i[b+54>>0]=1;if(f){d=17;break}else{f=4;break}}if(f)d=17;else f=4}while(0);if((d|0)==17)f=3;k[g>>2]=f;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function df(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+16|0;m=o+4|0;n=o;k[a+48>>2]=e;k[a+40>>2]=f;l=a+44|0;j=Cl(e>>>0>1073741823?-1:e<<2)|0;d=k[l>>2]|0;k[l>>2]=j;if(d|0)Dl(d);i=a+8|0;k[i>>2]=e;j=a+32|0;h=k[j>>2]|0;g=k[h+4>>2]|0;f=k[h>>2]|0;d=g-f|0;if((d|0)<=0){r=o;return 1}d=(d>>2)+-1|0;while(1){if(g-f>>2>>>0<=d>>>0){d=8;break}k[n>>2]=k[f+(d<<2)>>2];k[m>>2]=k[n>>2];Xb(a,m,b,d);h=$(d,e)|0;re(i,b+(h<<2)|0,k[l>>2]|0,c,h);d=d+-1|0;if((d|0)<=-1){d=5;break}h=k[j>>2]|0;f=k[h>>2]|0;g=k[h+4>>2]|0}if((d|0)==5){r=o;return 1}else if((d|0)==8)Jk(h);return 0}function ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=(k[b+4>>2]|0)-(k[b>>2]|0)>>2;h=c+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;j=c+16|0;e=j;d=k[e>>2]|0;e=k[e+4>>2]|0;if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){f=i[(k[c>>2]|0)+d>>0]|0;d=Vj(d|0,e|0,1,0)|0;e=M;n=j;k[n>>2]=d;k[n+4>>2]=e;if(f<<24>>24!=-2)l=3}else{f=0;l=3}if((l|0)==3){if((h|0)>(e|0)|(h|0)==(e|0)&g>>>0>d>>>0){n=i[(k[c>>2]|0)+d>>0]|0;l=Vj(d|0,e|0,1,0)|0;d=j;k[d>>2]=l;k[d+4>>2]=M;d=n}else d=0;n=a+28|0;l=Pa[k[(k[a>>2]|0)+32>>2]&31](a,f<<24>>24,d<<24>>24)|0;d=k[n>>2]|0;k[n>>2]=l;if(d|0)Ra[k[(k[d>>2]|0)+4>>2]&127](d)}d=k[a+28>>2]|0;if(d|0?!(Xa[k[(k[a>>2]|0)+20>>2]&63](a,d)|0):0){n=0;return n|0}if(!(Pa[k[(k[a>>2]|0)+28>>2]&31](a,b,c)|0)){n=0;return n|0}n=Xa[k[(k[a>>2]|0)+40>>2]&63](a,m)|0;return n|0}function ff(a){a=a|0;hl(a+744|0);hl(a+720|0);hl(a+696|0);hl(a+672|0);hl(a+648|0);hl(a+624|0);hl(a+600|0);hl(a+576|0);hl(a+552|0);hl(a+528|0);hl(a+504|0);hl(a+480|0);hl(a+456|0);hl(a+432|0);hl(a+408|0);hl(a+384|0);hl(a+360|0);hl(a+336|0);hl(a+312|0);hl(a+288|0);hl(a+264|0);hl(a+240|0);hl(a+216|0);hl(a+192|0);hl(a+168|0);hl(a+144|0);hl(a+120|0);hl(a+96|0);hl(a+72|0);hl(a+48|0);hl(a+24|0);hl(a);return}function gf(a){a=a|0;hl(a);hl(a+24|0);hl(a+48|0);hl(a+72|0);hl(a+96|0);hl(a+120|0);hl(a+144|0);hl(a+168|0);hl(a+192|0);hl(a+216|0);hl(a+240|0);hl(a+264|0);hl(a+288|0);hl(a+312|0);hl(a+336|0);hl(a+360|0);hl(a+384|0);hl(a+408|0);hl(a+432|0);hl(a+456|0);hl(a+480|0);hl(a+504|0);hl(a+528|0);hl(a+552|0);hl(a+576|0);hl(a+600|0);hl(a+624|0);hl(a+648|0);hl(a+672|0);hl(a+696|0);hl(a+720|0);hl(a+744|0);return}function hf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[(k[b>>2]|0)+64>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)<=0){r=h;return 1}a=0;do{k[g>>2]=a*3;k[f>>2]=k[g>>2];Rb(b,f);a=a+1|0}while((a|0)<(c|0));r=h;return 1}else{d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0)){r=h;return 1}c=a+8|0;b=0;a=d;do{k[g>>2]=k[a+(b<<2)>>2];k[f>>2]=k[g>>2];Rb(c,f);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);r=h;return 1}return 0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+4|0;g=h;e=a+84|0;b=k[e>>2]|0;if(!b){b=a+8|0;e=k[b>>2]|0;e=(k[e+4>>2]|0)-(k[e>>2]|0)|0;c=(e|0)/12|0;if((e|0)<=0){r=h;return 1}a=0;do{k[g>>2]=a*3;k[f>>2]=k[g>>2];Tb(b,f);a=a+1|0}while((a|0)<(c|0));r=h;return 1}else{d=k[b>>2]|0;if((k[b+4>>2]|0)==(d|0)){r=h;return 1}c=a+8|0;b=0;a=d;do{k[g>>2]=k[a+(b<<2)>>2];k[f>>2]=k[g>>2];Tb(c,f);b=b+1|0;d=k[e>>2]|0;a=k[d>>2]|0}while(b>>>0<(k[d+4>>2]|0)-a>>2>>>0);r=h;return 1}return 0}function kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;g=i;k[g>>2]=b;if((b|0)<=-1)Ja(5563,5575,93,5602);h=a+4|0;if(((k[a+8>>2]|0)-(k[h>>2]|0)>>2|0)<=(b|0))cg(h,b+1|0);d=k[(k[c>>2]|0)+56>>2]|0;do if((d|0)<4){e=a+16+(d*12|0)+4|0;f=k[e>>2]|0;if((f|0)==(k[a+16+(d*12|0)+8>>2]|0)){vg(a+16+(d*12|0)|0,g);break}else{k[f>>2]=b;k[e>>2]=f+4;break}}while(0);h=(k[h>>2]|0)+(k[g>>2]<<2)|0;g=k[c>>2]|0;k[c>>2]=0;f=k[h>>2]|0;k[h>>2]=g;if(!f){r=i;return}a=k[f+68>>2]|0;b=a;if(a|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(a|0))k[d>>2]=e+(~((e+-4-b|0)>>>2)<<2);Fl(a)}h=f+64|0;a=k[h>>2]|0;k[h>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){d=a+4|0;if((k[d>>2]|0)!=(b|0))k[d>>2]=b;Fl(b)}Fl(a)}Fl(f);r=i;return}function lf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+4|0;c=k[j>>2]|0;i=a+16|0;b=k[i>>2]|0;d=c+(b>>>7<<2)|0;l=a+8|0;h=k[l>>2]|0;e=h;f=c;if((h|0)==(c|0)){g=0;h=a+20|0;b=0}else{h=a+20|0;g=(k[h>>2]|0)+b|0;g=(k[c+(g>>>7<<2)>>2]|0)+((g&127)<<5)|0;b=(k[d>>2]|0)+((b&127)<<5)|0}a:while(1){do{if((b|0)==(g|0))break a;b=b+32|0}while((b-(k[d>>2]|0)|0)!=4096);b=d+4|0;d=b;b=k[b>>2]|0}k[h>>2]=0;b=e-f>>2;if(b>>>0>2)do{Fl(k[c>>2]|0);c=(k[j>>2]|0)+4|0;k[j>>2]=c;b=(k[l>>2]|0)-c>>2}while(b>>>0>2);switch(b|0){case 1:{k[i>>2]=64;break}case 2:{k[i>>2]=128;break}default:{}}b=k[j>>2]|0;c=k[l>>2]|0;if((b|0)!=(c|0)){do{Fl(k[b>>2]|0);b=b+4|0}while((b|0)!=(c|0));b=k[j>>2]|0;c=k[l>>2]|0;if((c|0)!=(b|0))k[l>>2]=c+(~((c+-4-b|0)>>>2)<<2)}b=k[a>>2]|0;if(!b)return;Fl(b);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+16|0;j=l;i=bj(52)|0;g=bj(12)|0;f=k[(k[a+4>>2]|0)+64>>2]|0;k[g+4>>2]=0;k[g>>2]=4316;k[g+8>>2]=f;k[j>>2]=g;Th(i,j);g=a+8|0;f=a+12|0;a=k[f>>2]|0;c=k[g>>2]|0;d=a-c>>2;do if((d|0)<=(b|0)){e=b+1|0;if(e>>>0>d>>>0){Te(g,e-d|0);break}if(e>>>0>>0?(h=c+(e<<2)|0,(a|0)!=(h|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ra[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(h|0))}while(0);h=(k[g>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(a|0)Ra[k[(k[a>>2]|0)+4>>2]&127](a);a=k[j>>2]|0;k[j>>2]=0;if(!a){r=l;return 1}Ra[k[(k[a>>2]|0)+4>>2]&127](a);r=l;return 1}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;do if(b){b=a+8|0;j=b;g=k[j>>2]|0;j=k[j+4>>2]|0;d=a+16|0;f=d;e=k[f>>2]|0;f=Vj(e|0,k[f+4>>2]|0,8,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}else{j=(k[a>>2]|0)+e|0;h=j;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;j=j+4|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;e=c;c=e;i[c>>0]=h;i[c+1>>0]=h>>8;i[c+2>>0]=h>>16;i[c+3>>0]=h>>24;e=e+4|0;i[e>>0]=j;i[e+1>>0]=j>>8;i[e+2>>0]=j>>16;i[e+3>>0]=j>>24;e=d;e=Vj(k[e>>2]|0,k[e+4>>2]|0,8,0)|0;c=M;k[d>>2]=e;k[d+4>>2]=c;d=a;break}}else{c=a+16|0;b=a+8|0;d=a;e=k[c>>2]|0;c=k[c+4>>2]|0}while(0);i[a+36>>0]=1;h=(k[d>>2]|0)+e|0;j=b;j=Ej(k[j>>2]|0,k[j+4>>2]|0,e|0,c|0)|0;k[a+32>>2]=0;k[a+24>>2]=h;k[a+28>>2]=h+j;j=1;return j|0}function of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+40>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+36>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Ec(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];cc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];yc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];rc(b,d,a)|0;r=j;return}default:{r=j;return}}}function pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c=k[(k[b+64>>2]|0)+(c<<2)>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;b=k[b+60>>2]|0;if(!(i[b+84>>0]|0))c=k[(k[b+68>>2]|0)+(c<<2)>>2]|0;switch(i[b+24>>0]|0){case 1:{k[e>>2]=c;k[d>>2]=k[e>>2];Ec(b,d,a)|0;r=j;return}case 2:{k[f>>2]=c;k[d>>2]=k[f>>2];cc(b,d,a)|0;r=j;return}case 3:{k[g>>2]=c;k[d>>2]=k[g>>2];yc(b,d,a)|0;r=j;return}case 4:{k[h>>2]=c;k[d>>2]=k[h>>2];rc(b,d,a)|0;r=j;return}default:{r=j;return}}}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;l=r;r=r+16|0;g=l;h=a+4|0;k[h>>2]=0;if(!b){r=l;return}j=a+8|0;d=k[j>>2]|0;if(d<<5>>>0>>0){k[g>>2]=0;e=g+4|0;k[e>>2]=0;f=g+8|0;k[f>>2]=0;if((b|0)<0)Kk(a);m=d<<6;n=b+31&-32;Zf(g,d<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);d=k[a>>2]|0;k[a>>2]=k[g>>2];k[g>>2]=d;g=k[h>>2]|0;k[h>>2]=b;k[e>>2]=g;h=k[j>>2]|0;k[j>>2]=k[f>>2];k[f>>2]=h;if(d|0)Fl(d)}else k[h>>2]=b;a=k[a>>2]|0;e=a;f=b>>>5;d=f<<2;if(!(i[c>>0]|0)){Jh(a|0,0,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=l;return}k[a>>2]=k[a>>2]&~(-1>>>(32-d|0));r=l;return}else{Jh(a|0,-1,d|0)|0;d=b-(f<<5)|0;a=e+(f<<2)|0;if(!d){r=l;return}k[a>>2]=k[a>>2]|-1>>>(32-d|0);r=l;return}}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;d=b+8|0;j=d;g=k[j>>2]|0;j=k[j+4>>2]|0;e=b+16|0;f=e;c=k[f>>2]|0;f=Vj(c|0,k[f+4>>2]|0,4,0)|0;h=M;if((j|0)<(h|0)|(j|0)==(h|0)&g>>>0>>0){j=0;return j|0}j=a+12|0;g=(k[b>>2]|0)+c|0;g=l[g>>0]|l[g+1>>0]<<8|l[g+2>>0]<<16|l[g+3>>0]<<24;i[j>>0]=g;i[j+1>>0]=g>>8;i[j+2>>0]=g>>16;i[j+3>>0]=g>>24;j=e;g=k[j>>2]|0;j=k[j+4>>2]|0;c=Vj(g|0,j|0,4,0)|0;f=e;k[f>>2]=c;k[f+4>>2]=M;f=d;h=k[f>>2]|0;f=k[f+4>>2]|0;j=Vj(g|0,j|0,8,0)|0;g=M;if((f|0)<(g|0)|(f|0)==(g|0)&h>>>0>>0){j=0;return j|0}h=a+16|0;j=(k[b>>2]|0)+c|0;j=l[j>>0]|l[j+1>>0]<<8|l[j+2>>0]<<16|l[j+3>>0]<<24;i[h>>0]=j;i[h+1>>0]=j>>8;i[h+2>>0]=j>>16;i[h+3>>0]=j>>24;h=e;h=Vj(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;j=e;k[j>>2]=h;k[j+4>>2]=M;j=1;return j|0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a+20>>2]|0;f=b+8|0;h=k[f+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=k[e+4>>2]|0;if(!((h|0)>(e|0)|((h|0)==(e|0)?(k[f>>2]|0)>>>0>d>>>0:0))){h=0;return h|0}f=i[(k[b>>2]|0)+d>>0]|0;b=Vj(d|0,e|0,1,0)|0;d=c;k[d>>2]=b;k[d+4>>2]=M;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);switch(f<<24>>24){case 0:{b=bj(336)|0;Vg(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ra[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}case 1:{b=bj(376)|0;ch(b);c=k[d>>2]|0;k[d>>2]=b;if(c){Ra[k[(k[c>>2]|0)+4>>2]&127](c);g=9}break}default:g=9}if((g|0)==9){b=k[d>>2]|0;if(!b){h=0;return h|0}}h=Xa[k[(k[b>>2]|0)+8>>2]&63](b,a)|0;return h|0}function tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;h=i;g=k[c>>2]|0;k[c>>2]=0;k[h>>2]=g;kf(a,b,h);g=k[h>>2]|0;k[h>>2]=0;if(g|0){f=k[g+68>>2]|0;c=f;if(f|0){d=g+72|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(f)}h=g+64|0;c=k[h>>2]|0;k[h>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Fl(d)}Fl(c)}Fl(g)}h=a+68|0;a=a+72|0;c=k[a>>2]|0;f=k[h>>2]|0;g=c-f>>2;if((g|0)>(b|0)){r=i;return}d=b+1|0;e=c;if(d>>>0>g>>>0){Hf(h,d-g|0);r=i;return}if(d>>>0>=g>>>0){r=i;return}c=f+(d<<2)|0;if((e|0)==(c|0)){r=i;return}k[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);r=i;return}function uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;m=s+120|0;o=s+80|0;p=s;q=s+136|0;d=o;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[m>>2]=k[c>>2];if((ab(0,b,m,p,o)|0)<0)c=-1;else{if((k[a+76>>2]|0)>-1)n=Jl(a)|0;else n=0;c=k[a>>2]|0;l=c&32;if((i[a+74>>0]|0)<1)k[a>>2]=c&-33;d=a+48|0;if(!(k[d>>2]|0)){e=a+44|0;f=k[e>>2]|0;k[e>>2]=q;g=a+28|0;k[g>>2]=q;h=a+20|0;k[h>>2]=q;k[d>>2]=80;j=a+16|0;k[j>>2]=q+80;c=ab(a,b,m,p,o)|0;if(f){Pa[k[a+36>>2]&31](a,0,0)|0;c=(k[h>>2]|0)==0?-1:c;k[e>>2]=f;k[d>>2]=0;k[j>>2]=0;k[g>>2]=0;k[h>>2]=0}}else c=ab(a,b,m,p,o)|0;d=k[a>>2]|0;k[a>>2]=d|l;if(n|0)Il(a);c=(d&32|0)==0?c:-1}r=s;return c|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=1048576){if((g|0)!=1048576?(e=h+4194304|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,1048576-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>1048576){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==1048576;return j|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=524288){if((g|0)!=524288?(e=h+2097152|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,524288-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>524288){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==524288;return j|0}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=262144){if((g|0)!=262144?(e=h+1048576|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,262144-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>262144){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==262144;return j|0}function yf(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;o=q;n=k[a>>2]|0;p=a+(k[n+-8>>2]|0)|0;n=k[n+-4>>2]|0;k[o>>2]=c;k[o+4>>2]=a;k[o+8>>2]=b;k[o+12>>2]=d;a=o+16|0;b=o+20|0;d=o+24|0;e=o+28|0;f=o+32|0;g=o+40|0;h=(n|0)==(c|0);l=a;m=l+36|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j[a+36>>1]=0;i[a+38>>0]=0;a:do if(h){k[o+48>>2]=1;Wa[k[(k[c>>2]|0)+20>>2]&3](c,o,p,p,1,0);a=(k[d>>2]|0)==1?p:0}else{Qa[k[(k[n>>2]|0)+24>>2]&3](n,o,p,1,0);switch(k[o+36>>2]|0){case 0:{a=(k[g>>2]|0)==1&(k[e>>2]|0)==1&(k[f>>2]|0)==1?k[b>>2]|0:0;break a}case 1:break;default:{a=0;break a}}if((k[d>>2]|0)!=1?!((k[g>>2]|0)==0&(k[e>>2]|0)==1&(k[f>>2]|0)==1):0){a=0;break}a=k[a>>2]|0}while(0);r=q;return a|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=65536){if((g|0)!=65536?(e=h+262144|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,65536-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>65536){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==65536;return j|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=32768){if((g|0)!=32768?(e=h+131072|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,32768-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>32768){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==32768;return j|0}function Bf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;e=k[h>>2]|0;i=a+4|0;c=k[i>>2]|0;if(e-c>>3>>>0>=b>>>0){do{h=c;k[h>>2]=0;k[h+4>>2]=0;c=(k[i>>2]|0)+8|0;k[i>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;d=(c-f>>3)+b|0;if(d>>>0>536870911)Kk(a);g=e-f|0;e=g>>2;e=g>>3>>>0<268435455?(e>>>0>>0?d:e):536870911;c=c-f>>3;do if(e)if(e>>>0>536870911){i=La(4)|0;pl(i);wa(i|0,736,68)}else{d=bj(e<<3)|0;break}else d=0;while(0);g=d+(c<<3)|0;f=d+(e<<3)|0;c=g;e=g;do{d=c;k[d>>2]=0;k[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[i>>2]|0)-b|0;c=g+(0-(d>>3)<<3)|0;if((d|0)>0)Ah(c|0,b|0,d|0)|0;k[a>>2]=c;k[i>>2]=e;k[h>>2]=f;if(!b)return;Fl(b);return}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=a+4|0;d=k[l>>2]|0;m=k[a>>2]|0;c=((d-m|0)/12|0)+1|0;if(c>>>0>357913941)Kk(a);i=m;g=d;j=a+8|0;h=((k[j>>2]|0)-m|0)/12|0;e=h<<1;e=h>>>0<178956970?(e>>>0>>0?c:e):357913941;d=(d-m|0)/12|0;do if(e)if(e>>>0>357913941){m=La(4)|0;pl(m);wa(m|0,736,68)}else{f=bj(e*12|0)|0;break}else f=0;while(0);c=f+(d*12|0)|0;h=f+(e*12|0)|0;k[c>>2]=k[b>>2];k[f+(d*12|0)+4>>2]=k[b+4>>2];k[f+(d*12|0)+8>>2]=k[b+8>>2];e=c+12|0;if((g|0)!=(i|0)){d=g;do{g=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[g+-8>>2];k[c+-4>>2]=k[g+-4>>2];c=c+-12|0}while((d|0)!=(i|0))}k[a>>2]=c;k[l>>2]=e;k[j>>2]=h;if(!m)return;Fl(m);return}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=8192){if((g|0)!=8192?(e=h+32768|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,8192-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>8192){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==8192;return j|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+4|0;d=k[f>>2]|0;h=k[a>>2]|0;g=d-h>>2;if(g>>>0>=4096){if((g|0)!=4096?(e=h+16384|0,(d|0)!=(e|0)):0)k[f>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else kg(a,4096-g|0);d=a+12|0;e=a+16|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>3;if(f>>>0>=c>>>0){if(f>>>0>c>>>0?(i=g+(c<<3)|0,(h|0)!=(i|0)):0)k[e>>2]=h+(~((h+-8-i|0)>>>3)<<3)}else Bf(d,c-f|0);if(!c){j=0;return j|0}g=k[d>>2]|0;e=0;f=0;do{i=b+(e<<2)|0;k[g+(e<<3)>>2]=k[i>>2];k[g+(e<<3)+4>>2]=f;d=f;f=(k[i>>2]|0)+f|0;if(f>>>0>4096){d=0;j=19;break}if(d>>>0>>0){h=k[a>>2]|0;do{k[h+(d<<2)>>2]=e;d=d+1|0}while((d|0)!=(f|0))}e=e+1|0}while(e>>>0>>0);if((j|0)==19)return d|0;j=(f|0)==4096;return j|0}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;e=k[j>>2]|0;l=a+4|0;h=k[l>>2]|0;f=h;if(e-h>>2>>>0>=b>>>0){d=b;e=f;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}k[l>>2]=f+(b<<2);return}i=k[a>>2]|0;d=(h-i>>2)+b|0;if(d>>>0>1073741823)Kk(a);g=e-i|0;e=g>>1;e=g>>2>>>0<536870911?(e>>>0>>0?d:e):1073741823;d=h-i>>2;do if(e)if(e>>>0>1073741823){l=La(4)|0;pl(l);wa(l|0,736,68)}else{f=bj(e<<2)|0;break}else f=0;while(0);g=f+(d<<2)|0;f=f+(e<<2)|0;d=b;e=g;while(1){k[e>>2]=k[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}d=h-i|0;e=g+(0-(d>>2)<<2)|0;if((d|0)>0)Ah(e|0,i|0,d|0)|0;k[a>>2]=e;k[l>>2]=g+(b<<2);k[j>>2]=f;if(!i)return;Fl(i);return}function Gf(a){a=a|0;nl(a);nl(a+16|0);nl(a+32|0);nl(a+48|0);nl(a+64|0);nl(a+80|0);nl(a+96|0);nl(a+112|0);nl(a+128|0);nl(a+144|0);nl(a+160|0);nl(a+176|0);nl(a+192|0);nl(a+208|0);nl(a+224|0);nl(a+240|0);nl(a+256|0);nl(a+272|0);nl(a+288|0);nl(a+304|0);nl(a+320|0);nl(a+336|0);nl(a+352|0);nl(a+368|0);nl(a+384|0);nl(a+400|0);nl(a+416|0);nl(a+432|0);nl(a+448|0);nl(a+464|0);nl(a+480|0);nl(a+496|0);return}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=a+8|0;d=k[i>>2]|0;j=a+4|0;g=k[j>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=b;d=e;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}k[j>>2]=e+(b<<2);return}h=k[a>>2]|0;c=(g-h>>2)+b|0;if(c>>>0>1073741823)Kk(a);f=d-h|0;d=f>>1;d=f>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;c=g-h>>2;do if(d)if(d>>>0>1073741823){j=La(4)|0;pl(j);wa(j|0,736,68)}else{e=bj(d<<2)|0;break}else e=0;while(0);f=e+(c<<2)|0;e=e+(d<<2)|0;c=b;d=f;while(1){k[d>>2]=1;c=c+-1|0;if(!c)break;else d=d+4|0}c=g-h|0;d=f+(0-(c>>2)<<2)|0;if((c|0)>0)Ah(d|0,h|0,c|0)|0;k[a>>2]=d;k[j>>2]=f+(b<<2);k[i>>2]=e;if(!h)return;Fl(h);return}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+16|0;i=m;if(!(md(a,b)|0)){j=0;r=m;return j|0}g=b+8|0;h=k[g>>2]|0;g=k[g+4>>2]|0;c=b+16|0;e=c;d=k[e>>2]|0;e=Vj(d|0,k[e+4>>2]|0,4,0)|0;f=M;if((g|0)<(f|0)|(g|0)==(f|0)&h>>>0>>0){j=0;r=m;return j|0}h=(k[b>>2]|0)+d|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;d=c;k[d>>2]=e;k[d+4>>2]=f;d=a+96|0;c=(k[d>>2]|0)+h|0;k[d>>2]=c;d=a+100|0;k[i>>2]=0;e=a+104|0;h=k[e>>2]|0;g=k[d>>2]|0;f=h-g>>2;if(c>>>0<=f>>>0){if(c>>>0>>0?(j=g+(c<<2)|0,(h|0)!=(j|0)):0)k[e>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else Ff(d,c-f|0,i);j=je(a+112|0,b)|0;r=m;return j|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;e=k[g>>2]|0;c=k[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Qd(a,b-d|0);return}if(d>>>0<=b>>>0)return;f=c+(b*116|0)|0;if((e|0)==(f|0))return;do{k[g>>2]=e+-116;a=k[e+-12>>2]|0;b=a;if(a|0){c=e+-8|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(a)}a=k[e+-28>>2]|0;b=a;if(a|0){c=e+-24|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(a)}a=k[e+-40>>2]|0;b=a;if(a|0){c=e+-36|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(a)}Pg(e+-112|0);e=k[g>>2]|0}while((e|0)!=(f|0));return}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Xc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+20>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Xc(a,b);return}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[c+4>>2]|0;if((b|0)<=-1)Ja(9535,9551,54,9579);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(b|0))Ja(9589,9551,55,9579);e=k[e+(b<<2)>>2]|0;if((Ta[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=ve(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}g=bj(44)|0;k[g>>2]=3168;k[g+4>>2]=e;k[g+8>>2]=k[d>>2];c=g+12|0;b=d+4|0;k[c>>2]=k[b>>2];k[c+4>>2]=k[b+4>>2];k[c+8>>2]=k[b+8>>2];k[c+12>>2]=k[b+12>>2];k[c+16>>2]=k[b+16>>2];dh(g+32|0,d+24|0);k[g>>2]=3232;d=g;return d|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){nc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;nc(a,b);return}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Ac(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ac(a,b);return}function Of(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Mc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Mc(a,b);return}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){bd(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;bd(a,b);return}function Qf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){oc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;oc(a,b);return}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Bc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Bc(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Nc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nc(a,b);return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){pc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;pc(a,b);return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Cc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Cc(a,b);return}function Vf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){Oc(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Oc(a,b);return}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){cd(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;cd(a,b);return}function Xf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;i=n+16|0;j=n+8|0;l=n;m=k[b>>2]|0;h=k[a+8>>2]<<1;if((m|0)>(h|0))Ja(7195,7230,105,7322);f=k[b+4>>2]|0;if((f|0)>(h|0))Ja(7343,7230,106,7322);g=k[c+(e<<2)>>2]|0;if((g|0)>(h|0))Ja(7378,7230,107,7322);b=k[c+(e+1<<2)>>2]|0;if((b|0)>(h|0))Ja(7418,7230,108,7322);if((m|0)<=-1)Ja(7462,7230,110,7322);if((f|0)<=-1)Ja(7484,7230,111,7322);if((g|0)<=-1)Ja(7506,7230,112,7322);if((b|0)>-1){k[i>>2]=g;k[i+4>>2]=b;k[l>>2]=m;k[l+4>>2]=f;Kd(j,a,l,i);k[d>>2]=k[j>>2];k[d+4>>2]=k[j+4>>2];r=n;return}else Ja(7533,7230,113,7322)}function Yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=b&255;d=(c|0)!=0;a:do if(d&(a&3|0)!=0){e=b&255;while(1){if((i[a>>0]|0)==e<<24>>24){g=6;break a}a=a+1|0;c=c+-1|0;d=(c|0)!=0;if(!(d&(a&3|0)!=0)){g=5;break}}}else g=5;while(0);if((g|0)==5)if(d)g=6;else c=0;b:do if((g|0)==6){e=b&255;if((i[a>>0]|0)!=e<<24>>24){d=$(f,16843009)|0;c:do if(c>>>0>3)while(1){f=k[a>>2]^d;if((f&-2139062144^-2139062144)&f+-16843009|0)break;a=a+4|0;c=c+-4|0;if(c>>>0<=3){g=11;break c}}else g=11;while(0);if((g|0)==11)if(!c){c=0;break}while(1){if((i[a>>0]|0)==e<<24>>24)break b;a=a+1|0;c=c+-1|0;if(!c){c=0;break}}}}while(0);return (c|0?a:0)|0}function Zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;c=i+8|0;d=i;g=a+8|0;if(k[g>>2]<<5>>>0>=b>>>0){r=i;return}k[f>>2]=0;h=f+4|0;k[h>>2]=0;e=f+8|0;k[e>>2]=0;if((b|0)<0)Kk(f);l=((b+-1|0)>>>5)+1|0;j=bj(l<<2)|0;k[f>>2]=j;k[h>>2]=0;k[e>>2]=l;l=k[a>>2]|0;k[c>>2]=l;k[c+4>>2]=0;j=a+4|0;b=k[j>>2]|0;k[d>>2]=l+(b>>>5<<2);k[d+4>>2]=b&31;Ye(f,c,d);b=k[a>>2]|0;k[a>>2]=k[f>>2];k[f>>2]=b;f=k[j>>2]|0;k[j>>2]=k[h>>2];k[h>>2]=f;h=k[g>>2]|0;k[g>>2]=k[e>>2];k[e>>2]=h;if(b|0)Fl(b);r=i;return}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;i=(k[b+4>>2]|0)-(k[b>>2]|0)|0;l=i>>2;j=a+8|0;d=k[(k[j>>2]|0)+40>>2]|0;m=Cl((d|0)>-1?d:-1)|0;e=c+8|0;if((i|0)<=0){c=1;Dl(m);return c|0}f=c+16|0;b=0;a=0;while(1){o=e;n=k[o>>2]|0;o=k[o+4>>2]|0;h=f;g=k[h>>2]|0;h=Vj(g|0,k[h+4>>2]|0,d|0,0)|0;i=M;if((o|0)<(i|0)|(o|0)==(i|0)&n>>>0>>0){b=0;a=5;break}Ah(m|0,(k[c>>2]|0)+g|0,d|0)|0;o=f;k[o>>2]=h;k[o+4>>2]=i;Ah((k[k[(k[j>>2]|0)+64>>2]>>2]|0)+b|0,m|0,d|0)|0;a=a+1|0;if((a|0)>=(l|0)){b=1;a=5;break}else b=b+d|0}if((a|0)==5){Dl(m);return b|0}return 0}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;d=h;c=k[(k[a>>2]|0)+8>>2]|0;f=a+4|0;g=a+8|0;e=(k[g>>2]|0)-(k[f>>2]|0)>>2;i=k[b>>2]|0;k[b>>2]=0;k[d>>2]=i;Ua[c&7](a,e,d);e=k[d>>2]|0;k[d>>2]=0;if(!e){g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}a=k[e+68>>2]|0;b=a;if(a|0){c=e+72|0;d=k[c>>2]|0;if((d|0)!=(a|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(a)}i=e+64|0;a=k[i>>2]|0;k[i>>2]=0;if(a|0){b=k[a>>2]|0;if(b|0){c=a+4|0;if((k[c>>2]|0)!=(b|0))k[c>>2]=b;Fl(b)}Fl(a)}Fl(e);g=k[g>>2]|0;i=k[f>>2]|0;i=g-i|0;i=i>>2;i=i+-1|0;r=h;return i|0}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+16|0;m=p;n=a+8|0;j=i[(k[n>>2]|0)+24>>0]<<2;if(!b){r=p;return 1}o=a+16|0;l=a+20|0;e=+((1<>2])+-1|0)+-1.0;a=0;c=0;d=0;while(1){f=d|1;g=k[l>>2]|0;h=k[o>>2]|0;if(g-h>>2>>>0<=d>>>0){a=6;break}if(g-h>>2>>>0<=f>>>0){a=8;break}ig(+(k[h+(d<<2)>>2]|0)/e,+(k[h+(f<<2)>>2]|0)/e,m);Ah((k[k[(k[n>>2]|0)+64>>2]>>2]|0)+a|0,m|0,j|0)|0;c=c+1|0;if((c|0)==(b|0)){a=3;break}else{a=a+j|0;d=d+2|0}}if((a|0)==3){r=p;return 1}else if((a|0)==6)Jk(o);else if((a|0)==8)Jk(o);return 0}function bg(a,b){a=a|0;b=b|0;var c=0,d=0;if((b|0)!=1){if(b+-1&b)b=bb(b)|0}else b=2;d=k[a+4>>2]|0;if(b>>>0>d>>>0){gd(a,b);return}if(b>>>0>=d>>>0)return;c=~~+_(+(+((k[a+12>>2]|0)>>>0)/+o[a+16>>2]))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(ca(c+-1|0)|0);else c=bb(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;gd(a,b);return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=a+4|0;c=k[g>>2]|0;d=k[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ye(a,b-e|0);return}if(e>>>0<=b>>>0)return;f=d+(b<<2)|0;if((c|0)==(f|0))return;do{d=c+-4|0;k[g>>2]=d;e=k[d>>2]|0;k[d>>2]=0;if(e|0){c=k[e+68>>2]|0;a=c;if(c|0){b=e+72|0;d=k[b>>2]|0;if((d|0)!=(c|0))k[b>>2]=d+(~((d+-4-a|0)>>>2)<<2);Fl(c)}d=e+64|0;c=k[d>>2]|0;k[d>>2]=0;if(c|0){a=k[c>>2]|0;if(a|0){b=c+4|0;if((k[b>>2]|0)!=(a|0))k[b>>2]=a;Fl(a)}Fl(c)}Fl(e)}c=k[g>>2]|0}while((c|0)!=(f|0));return}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;if((Ta[k[(k[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}f=a+4|0;a=0;while(1){c=k[(k[f>>2]|0)+4>>2]|0;c=wi(c,Xa[k[(k[b>>2]|0)+24>>2]&63](b,a)|0)|0;if((c|0)==-1){a=0;c=10;break}d=k[(k[f>>2]|0)+4>>2]|0;if((c|0)<=-1){c=6;break}e=k[d+4>>2]|0;if(((k[d+8>>2]|0)-e>>2|0)<=(c|0)){c=8;break}a=a+1|0;if(!(Xa[k[(k[b>>2]|0)+28>>2]&63](b,k[e+(c<<2)>>2]|0)|0)){a=0;c=10;break}if((a|0)>=(Ta[k[(k[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=10;break}}if((c|0)==6)Ja(9535,9551,62,9579);else if((c|0)==8)Ja(9589,9551,63,9579);else if((c|0)==10)return a|0;return 0}function eg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{k[h>>2]=b+-116;f=k[b+-12>>2]|0;c=f;if(f|0){d=b+-8|0;e=k[d>>2]|0;if((e|0)!=(f|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(f)}c=k[b+-28>>2]|0;d=c;if(c|0){e=b+-24|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}c=k[b+-40>>2]|0;d=c;if(c|0){e=b+-36|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}Pg(b+-112|0);b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Fl(b);return}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;e=k[h>>2]|0;i=k[a>>2]|0;c=((e-i|0)/12|0)+1|0;if(c>>>0>357913941)Kk(a);j=a+8|0;g=((k[j>>2]|0)-i|0)/12|0;f=g<<1;f=g>>>0<178956970?(f>>>0>>0?c:f):357913941;c=(e-i|0)/12|0;do if(f)if(f>>>0>357913941){j=La(4)|0;pl(j);wa(j|0,736,68)}else{g=bj(f*12|0)|0;break}else g=0;while(0);d=g+(c*12|0)|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];k[d+8>>2]=k[b+8>>2];c=e-i|0;b=d+(((c|0)/-12|0)*12|0)|0;if((c|0)>0)Ah(b|0,i|0,c|0)|0;k[a>>2]=b;k[h>>2]=d+12;k[j>>2]=g+(f*12|0);if(!i)return;Fl(i);return}function gg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{k[h>>2]=c+-116;g=k[c+-12>>2]|0;d=g;if(g|0){e=c+-8|0;f=k[e>>2]|0;if((f|0)!=(g|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(g)}d=k[c+-28>>2]|0;e=d;if(d|0){f=c+-24|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}d=k[c+-40>>2]|0;e=d;if(d|0){f=c+-36|0;g=k[f>>2]|0;if((g|0)!=(d|0))k[f>>2]=g+(~((g+-4-e|0)>>>2)<<2);Fl(d)}Pg(c+-112|0);c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Fl(b);return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+4|0;g=h;c=a+12|0;d=b+16|0;f=d;i=k[f+4>>2]|0;if((i|0)>0|(i|0)==0&(k[f>>2]|0)>>>0>0){r=h;return 1}f=b+4|0;k[g>>2]=k[f>>2];k[e>>2]=k[g>>2];Vd(b,e,c,c+4|0)|0;i=d;d=k[i+4>>2]|0;a=a+16|0;if((d|0)>0|(d|0)==0&(k[i>>2]|0)>>>0>0){r=h;return 1}k[g>>2]=k[f>>2];k[e>>2]=k[g>>2];Vd(b,e,a,a+4|0)|0;r=h;return 1}function ig(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,h=0.0,i=0;d=a+b;e=a-b;if(!(e<=.5)|(!(e>=-.5)|(!(d>=.5)|!(d<=1.5)))){do if(!(d<=.5)){if(d>=1.5){f=1.5-b;b=1.5-a;break}if(!(e<=-.5)){f=b+.5;b=a+-.5;break}else{f=b+-.5;b=a+.5;break}}else{f=.5-b;b=.5-a}while(0);d=b+f;e=f-b;g=-1.0}else{g=1.0;f=a}a=f*2.0+-1.0;f=b*2.0+-1.0;b=d*2.0;d=b+-1.0;b=3.0-b;h=e*2.0;e=h+1.0;h=1.0-h;e=h>2]=0.0;h=0.0;g=0.0;i=c+4|0;o[i>>2]=g;c=c+8|0;o[c>>2]=h;return}else{g=1.0/+P(+e);o[c>>2]=d*g;h=f*g;g=a*g;i=c+4|0;o[i>>2]=g;i=c+8|0;o[i>>2]=h;return}}function jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;f=k[c+4>>2]|0;if((b|0)<=-1)Ja(9535,9551,54,9579);e=k[f+4>>2]|0;if(((k[f+8>>2]|0)-e>>2|0)<=(b|0))Ja(9589,9551,55,9579);e=k[e+(b<<2)>>2]|0;if((Ta[k[(k[c>>2]|0)+8>>2]&127](c)|0)==1?(g=Lc(c,a,b,d)|0,g|0):0){d=g;return d|0}if((a|0)==-2){d=0;return d|0}g=bj(20)|0;k[g+4>>2]=e;c=g+8|0;k[c>>2]=k[d>>2];k[c+4>>2]=k[d+4>>2];k[c+8>>2]=k[d+8>>2];k[g>>2]=3792;d=g;return d|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=a+8|0;d=k[j>>2]|0;l=a+4|0;h=k[l>>2]|0;if(d-h>>2>>>0>=b>>>0){Jh(h|0,0,b<<2|0)|0;k[l>>2]=h+(b<<2);return}i=k[a>>2]|0;c=(h-i>>2)+b|0;if(c>>>0>1073741823)Kk(a);g=d-i|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;c=h-i>>2;do if(f)if(f>>>0>1073741823){l=La(4)|0;pl(l);wa(l|0,736,68)}else{g=bj(f<<2)|0;break}else g=0;while(0);e=g+(c<<2)|0;Jh(e|0,0,b<<2|0)|0;c=h-i|0;d=e+(0-(c>>2)<<2)|0;if((c|0)>0)Ah(d|0,i|0,c|0)|0;k[a>>2]=d;k[l>>2]=e+(b<<2);k[j>>2]=g+(f<<2);if(!i)return;Fl(i);return}function lg(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2876;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+16>>2]|0;if(!b){a=a+4|0;ug(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);a=a+4|0;ug(a);return}function mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4240;e=a+48|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);e=k[a+36>>2]|0;b=e;if(e|0){c=a+40|0;d=k[c>>2]|0;if((d|0)!=(e|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(e)}d=a+24|0;b=k[d>>2]|0;if(b|0){e=a+28|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Fl(b)}k[a>>2]=2948;d=k[a+4>>2]|0;if(!d)return;b=a+8|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Fl(d);return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=a+8|0;e=k[h>>2]|0;j=a+4|0;c=k[j>>2]|0;if((e-c|0)>>>0>=b>>>0){do{i[c>>0]=0;c=(k[j>>2]|0)+1|0;k[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}f=k[a>>2]|0;d=c-f+b|0;if((d|0)<0)Kk(a);e=e-f|0;g=e<<1;d=e>>>0<1073741823?(g>>>0>>0?d:g):2147483647;if(!d)e=0;else e=bj(d)|0;g=e+(c-f)|0;f=e+d|0;e=g;c=g;do{i[c>>0]=0;c=e+1|0;e=c;b=b+-1|0}while((b|0)!=0);b=k[a>>2]|0;d=(k[j>>2]|0)-b|0;c=g+(0-d)|0;if((d|0)>0)Ah(c|0,b|0,d|0)|0;k[a>>2]=c;k[j>>2]=e;k[h>>2]=f;if(!b)return;Fl(b);return}function og(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+32|0;c=e+24|0;h=e+16|0;f=e;e=e+36|0;a=Yi()|0;if(a|0?(d=k[a>>2]|0,d|0):0){a=d+48|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){k[c>>2]=k[1304];wj(13846,c)}if((b|0)==1126902529&(a|0)==1129074247)a=k[d+44>>2]|0;else a=d+80|0;k[e>>2]=a;d=k[d>>2]|0;a=k[d+4>>2]|0;if(Pa[k[(k[168]|0)+16>>2]&31](672,d,e)|0){h=k[e>>2]|0;e=k[1304]|0;h=Ta[k[(k[h>>2]|0)+8>>2]&127](h)|0;k[f>>2]=e;k[f+4>>2]=a;k[f+8>>2]=h;wj(13760,f)}else{k[h>>2]=k[1304];k[h+4>>2]=a;wj(13805,h)}}wj(13884,g)}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=c+16|0;e=k[d>>2]|0;if(!e)if(!(Xh(c)|0)){d=k[d>>2]|0;f=5}else d=0;else{d=e;f=5}a:do if((f|0)==5){g=c+20|0;f=k[g>>2]|0;e=f;if((d-f|0)>>>0>>0){d=Pa[k[c+36>>2]&31](c,a,b)|0;break}b:do if((i[c+75>>0]|0)>-1){d=b;while(1){if(!d){f=b;d=0;break b}f=d+-1|0;if((i[a+f>>0]|0)==10)break;else d=f}if((Pa[k[c+36>>2]&31](c,a,d)|0)>>>0>>0)break a;f=b-d|0;a=a+d|0;e=k[g>>2]|0}else{f=b;d=0}while(0);Ah(e|0,a|0,f|0)|0;k[g>>2]=(k[g>>2]|0)+f;d=d+f|0}while(0);return d|0}function qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=bj(24)|0;Ek(i);h=a+8|0;f=a+12|0;a=k[f>>2]|0;d=k[h>>2]|0;e=a-d>>2;do if((e|0)<=(b|0)){c=b+1|0;if(c>>>0>e>>>0){Te(h,c-e|0);break}if(c>>>0>>0?(g=d+(c<<2)|0,(a|0)!=(g|0)):0)do{e=a+-4|0;k[f>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ra[k[(k[a>>2]|0)+4>>2]&127](a);a=k[f>>2]|0}while((a|0)!=(g|0))}while(0);h=(k[h>>2]|0)+(b<<2)|0;a=k[h>>2]|0;k[h>>2]=i;if(!a)return 1;Ra[k[(k[a>>2]|0)+4>>2]&127](a);return 1}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+8|0;i=k[a>>2]|0;g=i;if((((k[h>>2]|0)-i|0)/12|0)>>>0>=b>>>0)return;j=a+4|0;d=k[j>>2]|0;c=(d-i|0)/12|0;do if(b)if(b>>>0>357913941){j=La(4)|0;pl(j);wa(j|0,736,68)}else{e=bj(b*12|0)|0;break}else e=0;while(0);c=e+(c*12|0)|0;f=c;b=e+(b*12|0)|0;if((d|0)==(g|0))c=f;else do{e=d;d=d+-12|0;k[c+-12>>2]=k[d>>2];k[c+-8>>2]=k[e+-8>>2];k[c+-4>>2]=k[e+-4>>2];c=c+-12|0}while((d|0)!=(g|0));k[a>>2]=c;k[j>>2]=f;k[h>>2]=b;if(!i)return;Fl(i);return}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=k[a+4>>2]|0;h=a+8|0;b=k[h>>2]|0;if((b|0)!=(g|0))do{e=b+-4|0;k[h>>2]=e;f=k[e>>2]|0;k[e>>2]=0;if(f|0){b=k[f+68>>2]|0;c=b;if(b|0){d=f+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}e=f+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Fl(c)}Fl(b)}Fl(f)}b=k[h>>2]|0}while((b|0)!=(g|0));b=k[a>>2]|0;if(!b)return;Fl(b);return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;c=d;if(!b){c=0;r=d;return c|0}g=b+4|0;e=(((k[g>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0;i[c>>0]=0;qf(a,e,c);e=b+24|0;f=b+28|0;h=(k[f>>2]|0)-(k[e>>2]|0)>>2;i[c>>0]=0;qf(a+12|0,h,c);Pe(a+28|0,(((k[g>>2]|0)-(k[b>>2]|0)|0)/12|0)*3|0,2936);Tg(a+52|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);Tg(a+40|0,(k[f>>2]|0)-(k[e>>2]|0)>>2);k[a+64>>2]=b;i[a+24>>0]=1;c=1;r=d;return c|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=k[a>>2]|0;if(!b)return;h=a+4|0;c=k[h>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[h>>2]=f;g=k[f>>2]|0;k[f>>2]=0;if(g|0){c=k[g+68>>2]|0;d=c;if(c|0){e=g+72|0;f=k[e>>2]|0;if((f|0)!=(c|0))k[e>>2]=f+(~((f+-4-d|0)>>>2)<<2);Fl(c)}f=g+64|0;c=k[f>>2]|0;k[f>>2]=0;if(c|0){d=k[c>>2]|0;if(d|0){e=c+4|0;if((k[e>>2]|0)!=(d|0))k[e>>2]=d;Fl(d)}Fl(c)}Fl(g)}c=k[h>>2]|0}while((c|0)!=(b|0));b=k[a>>2]|0}Fl(b);return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=a+4|0;e=k[h>>2]|0;i=k[a>>2]|0;c=(e-i>>2)+1|0;if(c>>>0>1073741823)Kk(a);j=a+8|0;g=(k[j>>2]|0)-i|0;f=g>>1;f=g>>2>>>0<536870911?(f>>>0>>0?c:f):1073741823;c=e-i>>2;do if(f)if(f>>>0>1073741823){j=La(4)|0;pl(j);wa(j|0,736,68)}else{g=bj(f<<2)|0;break}else g=0;while(0);d=g+(c<<2)|0;k[d>>2]=k[b>>2];c=e-i|0;b=d+(0-(c>>2)<<2)|0;if((c|0)>0)Ah(b|0,i|0,c|0)|0;k[a>>2]=b;k[h>>2]=d+4;k[j>>2]=g+(f<<2);if(!i)return;Fl(i);return}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=a+4|0;h=k[i>>2]|0;d=a+8|0;a=k[d>>2]|0;e=h+4|0;c=k[e>>2]|0;b=k[h>>2]|0;f=c-b>>2;if(a>>>0<=f>>>0){if(a>>>0>>0?(g=b+(a<<2)|0,(c|0)!=(g|0)):0)k[e>>2]=c+(~((c+-4-g|0)>>>2)<<2)}else{kg(h,a-f|0);a=k[d>>2]|0}if((a|0)>0)c=0;else return 1;while(1){d=k[i>>2]|0;b=k[d>>2]|0;if((k[d+4>>2]|0)-b>>2>>>0<=c>>>0){a=10;break}k[b+(c<<2)>>2]=c;c=c+1|0;if((c|0)>=(a|0)){a=7;break}}if((a|0)==7)return 1;else if((a|0)==10)Jk(d);return 0}function xg(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,j=0;if((a|0)<0){d=0;return d|0}if(!a){d=1;return d|0}h=c+8|0;j=k[h+4>>2]|0;e=c+16|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(!((j|0)>(g|0)|((j|0)==(g|0)?(k[h>>2]|0)>>>0>f>>>0:0))){j=0;return j|0}j=i[(k[c>>2]|0)+f>>0]|0;g=Vj(f|0,g|0,1,0)|0;h=e;k[h>>2]=g;k[h+4>>2]=M;switch(j<<24>>24){case 0:{j=Wb(a,b,c,d)|0;return j|0}case 1:{j=qd(a,c,d)|0;return j|0}default:{j=0;return j|0}}return 0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;h=d;if((c|0)==(d|0)){j=0;return j|0}g=k[(k[a+4>>2]|0)+8>>2]|0;f=(c-d|0)/116|0;a=0;a:while(1){c=k[g+(k[h+(a*116|0)>>2]<<2)>>2]|0;e=k[c+4>>2]|0;c=(k[c+8>>2]|0)-e|0;if((c|0)>0){d=c>>2;c=0;do{if((k[e+(c<<2)>>2]|0)==(b|0))break a;c=c+1|0}while((c|0)<(d|0))}a=a+1|0;if(a>>>0>=f>>>0){a=0;j=9;break}}if((j|0)==9)return a|0;j=(i[h+(a*116|0)+72>>0]|0)==0?0:h+(a*116|0)+4|0;return j|0}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=k[a>>2]|0;if(b){e=c+8|0;b=e;b=Vj(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[e>>2]=b;k[e+4>>2]=M;e=a+28|0;b=k[e>>2]|0;d=a+24|0;k[d>>2]=k[d>>2]|1<>2]|0,k[e+4>>2]|0,1,0)|0;b=c;k[b>>2]=e;k[b+4>>2]=M;b=a+28|0;e=b;b=k[b>>2]|0}d=b+1|0;k[e>>2]=d;if((d|0)!=32)return;b=a+24|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(k[a+20>>2]|0))vg(a+12|0,b);else{k[d>>2]=k[b>>2];k[c>>2]=d+4}k[e>>2]=0;k[b>>2]=0;return}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+48|0;f=g;if((c|0)!=1){f=0;r=g;return f|0}e=k[a+12>>2]|0;c=k[a+4>>2]|0;a=f;d=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b=Lf(b,e,c,f)|0;d=k[f+24>>2]|0;e=d;if(d|0){c=f+28|0;a=k[c>>2]|0;if((a|0)!=(d|0))k[c>>2]=a+(~((a+-4-e|0)>>>2)<<2);Fl(d)}f=b;r=g;return f|0}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=k[a+232>>2]|0;d=k[a+228>>2]|0;i=d;a:do if((c|0)!=(d|0)){h=k[(k[a+4>>2]|0)+8>>2]|0;g=(c-d|0)/116|0;c=0;b:while(1){d=k[h+(k[i+(c*116|0)>>2]<<2)>>2]|0;f=k[d+4>>2]|0;d=(k[d+8>>2]|0)-f|0;if((d|0)>0){e=d>>2;d=0;do{if((k[f+(d<<2)>>2]|0)==(b|0))break b;d=d+1|0}while((d|0)<(e|0))}c=c+1|0;if(c>>>0>=g>>>0)break a}i=i+(c*116|0)+76|0;return i|0}while(0);i=a+200|0;return i|0}function Cg(a){a=a|0;Il(a+496|0);Il(a+480|0);Il(a+464|0);Il(a+448|0);Il(a+432|0);Il(a+416|0);Il(a+400|0);Il(a+384|0);Il(a+368|0);Il(a+352|0);Il(a+336|0);Il(a+320|0);Il(a+304|0);Il(a+288|0);Il(a+272|0);Il(a+256|0);Il(a+240|0);Il(a+224|0);Il(a+208|0);Il(a+192|0);Il(a+176|0);Il(a+160|0);Il(a+144|0);Il(a+128|0);Il(a+112|0);Il(a+96|0);Il(a+80|0);Il(a+64|0);Il(a+48|0);Il(a+32|0);Il(a+16|0);Il(a);return}function Dg(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+48>>2]|0;c=b;if(b|0){d=a+52|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+24>>2]|0;c=b;if(b|0){d=a+28|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+12>>2]|0;c=b;if(b|0){d=a+16|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}d=k[a>>2]|0;if(!d)return;b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Fl(d);return}function Eg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;i[b+53>>0]=1;do if((k[b+4>>2]|0)==(d|0)){i[b+52>>0]=1;a=b+16|0;d=k[a>>2]|0;if(!d){k[a>>2]=c;k[b+24>>2]=e;k[b+36>>2]=1;if(!((e|0)==1?(k[b+48>>2]|0)==1:0))break;i[b+54>>0]=1;break}if((d|0)!=(c|0)){e=b+36|0;k[e>>2]=(k[e>>2]|0)+1;i[b+54>>0]=1;break}d=b+24|0;a=k[d>>2]|0;if((a|0)==2){k[d>>2]=e;a=e}if((a|0)==1?(k[b+48>>2]|0)==1:0)i[b+54>>0]=1}while(0);return}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Ie(a,b,c);d=k[a+84>>2]|0;c=k[a+80>>2]|0;e=c;if((d-c|0)<=0)return;b=k[b>>2]|0;a=(d-c|0)/12|0;c=0;do{d=e+(c*12|0)|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(c*12|0)+4|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];d=e+(c*12|0)+8|0;k[d>>2]=k[b+(k[d>>2]<<2)>>2];c=c+1|0}while((c|0)<(a|0));return}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if((d|0)<0){c=0;return c|0}do if(!b){b=a+4|0;d=k[b>>2]|0;e=k[a>>2]|0;f=d-e|0;if(c>>>0>f>>>0){ng(a,c-f|0);break}if(c>>>0>>0?(g=e+c|0,(d|0)!=(g|0)):0)k[b>>2]=g}else Re(a,b,b+c|0);while(0);c=a+24|0;g=c;g=Vj(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[c>>2]=g;k[c+4>>2]=M;c=1;return c|0}function Hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=a+64|0;if((k[f>>2]|0)==0?(e=bj(32)|0,fj(e),d=k[f>>2]|0,k[f>>2]=e,d|0):0){e=k[d>>2]|0;if(e|0){c=d+4|0;if((k[c>>2]|0)!=(e|0))k[c>>2]=e;Fl(e)}Fl(d)}c=qi(k[a+28>>2]|0)|0;c=$(i[a+24>>0]|0,c)|0;d=((c|0)<0)<<31>>31;g=k[f>>2]|0;e=_i(c|0,d|0,b|0,0)|0;if(!(Gg(g,0,e,M)|0)){g=0;return g|0}xh(a,k[f>>2]|0,c,d,0,0);k[a+80>>2]=b;g=1;return g|0}function Ig(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){g=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;g=(k[d+(g<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:g;return g|0}f=a+836|0;g=k[f>>2]|0;c=32-g|0;d=a+832|0;e=k[d>>2]|0;b=k[e>>2]<>2]=g;f=e+4|0;k[d>>2]=f;g=32-g|0;g=(k[f>>2]|0)>>>g|b>>>(g-c|0);return g|0}b=b>>>28;g=g+4|0;k[f>>2]=g;if((g|0)!=32){g=b;return g|0}k[d>>2]=e+4;k[f>>2]=0;g=b;return g|0}function Jg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(b>>>0<64){g=(k[d>>2]|0)>>>0>(k[d+4>>2]|0)>>>0&1;g=(k[d+(g<<2)>>2]|0)>>>0>(k[d+8>>2]|0)>>>0?2:g;return g|0}f=a+572|0;g=k[f>>2]|0;c=32-g|0;d=a+568|0;e=k[d>>2]|0;b=k[e>>2]<>2]=g;f=e+4|0;k[d>>2]=f;g=32-g|0;g=(k[f>>2]|0)>>>g|b>>>(g-c|0);return g|0}b=b>>>28;g=g+4|0;k[f>>2]=g;if((g|0)!=32){g=b;return g|0}k[d>>2]=e+4;k[f>>2]=0;g=b;return g|0}function Kg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;do if((a|0)==(k[b+8>>2]|0)){if((k[b+4>>2]|0)==(c|0)?(f=b+28|0,(k[f>>2]|0)!=1):0)k[f>>2]=d}else if((a|0)==(k[b>>2]|0)){if((k[b+16>>2]|0)!=(c|0)?(g=b+20|0,(k[g>>2]|0)!=(c|0)):0){k[b+32>>2]=d;k[g>>2]=c;e=b+40|0;k[e>>2]=(k[e>>2]|0)+1;if((k[b+36>>2]|0)==1?(k[b+24>>2]|0)==2:0)i[b+54>>0]=1;k[b+44>>2]=4;break}if((d|0)==1)k[b+32>>2]=1}while(0);return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=c+8|0;h=k[g+4>>2]|0;d=c+16|0;f=d;e=k[f>>2]|0;f=k[f+4>>2]|0;if(!((h|0)>(f|0)|((h|0)==(f|0)?(k[g>>2]|0)>>>0>e>>>0:0))){h=0;return h|0}h=i[(k[c>>2]|0)+e>>0]|0;f=Vj(e|0,f|0,1,0)|0;g=d;k[g>>2]=f;k[g+4>>2]=M;k[a+32>>2]=h&255;h=Vc(a,b,c)|0;return h|0}function Mg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f;e=d;k[e>>2]=0;k[e+4>>2]=0;Be(a,2,d);d=k[a+12>>2]|0;e=a+16|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+24>>2]=0;k[a+28>>2]=0;if(d|0){if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Fl(d)}d=k[a>>2]|0;if(!d){r=f;return}b=a+4|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-8-d|0)>>>3)<<3);Fl(d);r=f;return}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;if((b|0)>=33)Ja(10080,5320,153,10131);if((b|0)<=0)Ja(10160,5320,154,10131);g=a+8|0;h=a+4|0;f=0-(l[a+12>>0]|0)&255;e=0;d=k[g>>2]|0;do{if(d>>>0<4096){i=(k[h>>2]|0)+-1|0;k[h>>2]=i;d=l[(k[a>>2]|0)+i>>0]|0|d<<8;k[g>>2]=d}m=d&255;j=$(d>>>8,f)|0;i=m>>>0>>0;d=i?j+m|0:d-f-j|0;k[g>>2]=d;e=i&1|e<<1;b=b+-1|0}while((b|0)!=0);k[c>>2]=e;return}function Og(a,b,c){a=a|0;b=b|0;c=c|0;do if(a){if(b>>>0<128){i[a>>0]=b;a=1;break}if(b>>>0<2048){i[a>>0]=b>>>6|192;i[a+1>>0]=b&63|128;a=2;break}if(b>>>0<55296|(b&-8192|0)==57344){i[a>>0]=b>>>12|224;i[a+1>>0]=b>>>6&63|128;i[a+2>>0]=b&63|128;a=3;break}if((b+-65536|0)>>>0<1048576){i[a>>0]=b>>>18|240;i[a+1>>0]=b>>>12&63|128;i[a+2>>0]=b>>>6&63|128;i[a+3>>0]=b&63|128;a=4;break}else{a=Xj()|0;k[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0;b=k[a+52>>2]|0;c=b;if(b|0){d=a+56|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+40>>2]|0;c=b;if(b|0){d=a+44|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+28>>2]|0;c=b;if(b|0){d=a+32|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}b=k[a+12>>2]|0;if(b|0)Fl(b);b=k[a>>2]|0;if(!b)return;Fl(b);return}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+64|0;e=g;if((a|0)!=(b|0))if((b|0)!=0?(f=yf(b,696,680,0)|0,(f|0)!=0):0){b=e+4|0;d=b+52|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(d|0));k[e>>2]=f;k[e+8>>2]=a;k[e+12>>2]=-1;k[e+48>>2]=1;Ya[k[(k[f>>2]|0)+28>>2]&3](f,e,k[c>>2]|0,1);if((k[e+24>>2]|0)==1){k[c>>2]=k[e+16>>2];b=1}else b=0}else b=0;else b=1;r=g;return b|0}function Rg(a,b,c,d,e,f,g,h,j,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;var m=0,n=0,o=0;k[a>>2]=c;if(c|0){o=c+16|0;m=k[o+4>>2]|0;n=a+8|0;k[n>>2]=k[o>>2];k[n+4>>2]=m;n=c+24|0;m=k[n+4>>2]|0;c=a+16|0;k[c>>2]=k[n>>2];k[c+4>>2]=m}i[a+24>>0]=d;k[a+28>>2]=e;i[a+32>>0]=f&1;o=a+40|0;k[o>>2]=g;k[o+4>>2]=h;o=a+48|0;k[o>>2]=j;k[o+4>>2]=l;k[a+56>>2]=b;return}function Sg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a+8|0;k[g>>2]=e;f=e>>>0>1073741823?-1:e<<2;h=Cl(f)|0;Jh(h|0,0,f|0)|0;Xf(g,h,b,c,0);if((e|0)>=(d|0)){Dl(h);return 1}f=0-e|0;a=e;do{i=c+(a<<2)|0;Xf(g,i+(f<<2)|0,b,i,a);a=a+e|0}while((a|0)<(d|0));Dl(h);return 1}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+8|0;h=k[a>>2]|0;if((k[g>>2]|0)-h>>2>>>0>=b>>>0)return;i=a+4|0;d=k[i>>2]|0;c=d-h>>2;do if(b)if(b>>>0>1073741823){i=La(4)|0;pl(i);wa(i|0,736,68)}else{f=bj(b<<2)|0;break}else f=0;while(0);e=f+(c<<2)|0;c=d-h|0;d=e+(0-(c>>2)<<2)|0;if((c|0)>0)Ah(d|0,h|0,c|0)|0;k[a>>2]=d;k[i>>2]=e;k[g>>2]=f+(b<<2);if(!h)return;Fl(h);return}function Ug(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0,g=0,h=0;c=a+16|0;f=+p[c>>3];if(!(f<=1.0))Ja(5432,5445,22,5474);if(!(f>=0.0))Ja(5492,5445,23,5474);d=~~(f*256.0+.5)>>>0;d=d-((d|0)==256&1)|0;e=a+8|0;b=k[e>>2]|0;if(b>>>0<4096){h=a+4|0;g=(k[h>>2]|0)+-1|0;k[h>>2]=g;b=l[(k[a>>2]|0)+g>>0]|0|b<<8;k[e>>2]=b}a=b&255;d=0-(d+((d|0)==0&1))&255;g=$(b>>>8,d)|0;h=a>>>0>>0;k[e>>2]=h?g+a|0:b-d-g|0;p[c>>3]=f*.9921875+ +(h&1^1|0)*.0078125;return h|0}function Vg(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4532;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Xi(b);Xi(a+280|0);k[a+320>>2]=0;k[a+324>>2]=0;k[a+328>>2]=0;return}function Wg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=a+8|0;k[g>>2]=e;a=d-e|0;if((a|0)>0){f=0-e|0;do{d=b+(a<<2)|0;re(g,d,d+(f<<2)|0,c,a);a=a-e|0}while((a|0)>0)}d=e>>>0>1073741823?-1:e<<2;e=Cl(d)|0;Jh(e|0,0,d|0)|0;re(g,b,e,c,0);Dl(e);return 1}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=4472;e=a+28|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;e=a+8|0;b=k[e>>2]|0;if(!b){Fl(a);return}d=a+12|0;c=k[d>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[d>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[d>>2]|0}while((c|0)!=(b|0));b=k[e>>2]|0}Fl(b);Fl(a);return}function Yg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=r;r=r+256|0;g=h;do if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Jh(g|0,b|0,(e>>>0>256?256:e)|0)|0;b=k[a>>2]|0;f=(b&32|0)==0;if(e>>>0>255){c=c-d|0;do{if(f){pg(g,256,a)|0;b=k[a>>2]|0}e=e+-256|0;f=(b&32|0)==0}while(e>>>0>255);if(f)e=c&255;else break}else if(!f)break;pg(g,e,a)|0}while(0);r=h;return}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;g=j;h=b&255;i[g>>0]=h;d=a+16|0;e=k[d>>2]|0;if(!e)if(!(Xh(a)|0)){e=k[d>>2]|0;f=4}else c=-1;else f=4;do if((f|0)==4){f=a+20|0;d=k[f>>2]|0;if(d>>>0>>0?(c=b&255,(c|0)!=(i[a+75>>0]|0)):0){k[f>>2]=d+1;i[d>>0]=h;break}if((Pa[k[a+36>>2]&31](a,g,1)|0)==1)c=l[g>>0]|0;else c=-1}while(0);r=j;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4472;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ra[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Fl(b);return}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;if((k[b+76>>2]|0)>=0?(Jl(b)|0)!=0:0){if((i[b+75>>0]|0)!=(a|0)?(e=b+20|0,f=k[e>>2]|0,f>>>0<(k[b+16>>2]|0)>>>0):0){k[e>>2]=f+1;i[f>>0]=a;a=a&255}else a=Zg(b,a)|0;Il(b)}else g=3;do if((g|0)==3){if((i[b+75>>0]|0)!=(a|0)?(c=b+20|0,d=k[c>>2]|0,d>>>0<(k[b+16>>2]|0)>>>0):0){k[c>>2]=d+1;i[d>>0]=a;a=a&255;break}a=Zg(b,a)|0}while(0);return a|0}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;d=e;if((c|0)!=2){d=0;r=e;return d|0}f=k[a+12>>2]|0;c=k[a+4>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;d=jg(b,f,c,d)|0;r=e;return d|0}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=k[a+20>>2]|0;h=f+8|0;g=k[h>>2]|0;h=k[h+4>>2]|0;b=f+16|0;d=b;c=k[d>>2]|0;d=Vj(c|0,k[d+4>>2]|0,4,0)|0;e=M;if((h|0)<(e|0)|(h|0)==(e|0)&g>>>0>>0){h=0;return h|0}h=(k[f>>2]|0)+c|0;h=l[h>>0]|l[h+1>>0]<<8|l[h+2>>0]<<16|l[h+3>>0]<<24;g=b;k[g>>2]=d;k[g+4>>2]=e;k[(k[a+4>>2]|0)+64>>2]=h;h=1;return h|0}function ch(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=4672;b=a+100|0;c=a+4|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[b>>2]=-1;k[a+104>>2]=-1;k[a+108>>2]=-1;b=a+168|0;c=a+112|0;d=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));o[b>>2]=1.0;b=a+240|0;c=a+172|0;d=c+68|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Oh(b);return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;k[a>>2]=0;g=a+4|0;k[g>>2]=0;k[a+8>>2]=0;f=b+4|0;c=(k[f>>2]|0)-(k[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Kk(a);e=bj(c)|0;k[g>>2]=e;k[a>>2]=e;k[a+8>>2]=e+(d<<2);a=k[b>>2]|0;c=(k[f>>2]|0)-a|0;if((c|0)<=0)return;Ah(e|0,a|0,c|0)|0;k[g>>2]=e+(c>>2<<2);return}function eh(a){a=a|0;switch(a<<24>>24){case 0:{a=bj(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;oj(a);k[a>>2]=4272;return a|0}case 1:{a=bj(24)|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;oj(a);k[a>>2]=4340;return a|0}default:{a=0;return a|0}}return 0}function fh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4624;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}k[a+12>>2]=4648;b=k[a+32>>2]|0;if(b|0)Fl(b);b=k[a+20>>2]|0;if(!b){Fl(a);return}Fl(b);Fl(a);return}function gh(a){a=a|0;var b=0,c=0,d=0;if(!(k[a+64>>2]|0)){d=0;return d|0}d=a+4|0;c=a+8|0;a=k[d>>2]|0;if(((k[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=k[a+(b<<2)>>2]|0;b=b+1|0;if(!(bi(a,a)|0)){a=0;b=5;break}a=k[d>>2]|0;if((b|0)>=((k[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function hh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Fl(b);b=k[a+20>>2]|0;if(!b){Fl(a);return}Fl(b);Fl(a);return}function ih(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4624;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}k[a+12>>2]=4648;b=k[a+32>>2]|0;if(b|0)Fl(b);b=k[a+20>>2]|0;if(!b)return;Fl(b);return}function jh(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[u>>3]=a;c=k[u>>2]|0;d=k[u+4>>2]|0;e=Aj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+jh(a*18446744073709551616.0,b);c=(k[b>>2]|0)+-64|0}else c=0;k[b>>2]=c;break}case 2047:break;default:{k[b>>2]=(e&2047)+-1022;k[u>>2]=c;k[u+4>>2]=d&-2146435073|1071644672;a=+p[u>>3]}}return +a}function kh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=4580;b=k[a+64>>2]|0;c=b;if(b|0){d=a+68|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}k[a+12>>2]=4604;b=k[a+32>>2]|0;if(b|0)Fl(b);b=k[a+20>>2]|0;if(!b)return;Fl(b);return}function lh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3616;b=k[a+76>>2]|0;if(b|0)Fl(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Dl(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Fl(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Fl(d);Fl(a);return}function mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(b>>>0>0|(b|0)==0&a>>>0>4294967295){while(1){d=Ti(a|0,b|0,10,0)|0;c=c+-1|0;i[c>>0]=d|48;d=a;a=Gk(a|0,b|0,10,0)|0;if(!(b>>>0>9|(b|0)==9&d>>>0>4294967295))break;else b=M}b=a}else b=a;if(b)while(1){c=c+-1|0;i[c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return c|0}function nh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3680;d=a+36|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Dl(b);k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);b=k[a+16>>2]|0;if(!b){Fl(a);return}c=a+20|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);Fl(a);return}function oh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e;c=b;k[c>>2]=0;k[c+4>>2]=0;Be(a,2,b);b=k[a+12>>2]|0;c=a+16|0;d=k[c>>2]|0;if((d|0)==(b|0)){d=a+24|0;k[d>>2]=0;d=a+28|0;k[d>>2]=0;r=e;return}k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);d=a+24|0;k[d>>2]=0;d=a+28|0;k[d>>2]=0;r=e;return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;k[a>>2]=0;d=a+4|0;k[d>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823)Kk(a);f=bj(b<<2)|0;k[d>>2]=f;k[a>>2]=f;e=f+(b<<2)|0;k[a+8>>2]=e;a=f;while(1){k[a>>2]=k[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}k[d>>2]=e;return}function qh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Fl(b)}b=k[a+68>>2]|0;if(!b){lg(a);Fl(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);lg(a);Fl(a);return}function rh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3424;b=k[a+76>>2]|0;if(b|0)Fl(b);d=a+68|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Dl(b);k[a>>2]=3168;d=k[a+32>>2]|0;if(!d){Fl(a);return}b=a+36|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Fl(d);Fl(a);return}function sh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b){Fl(a);return}e=a+12|0;c=k[e>>2]|0;if((c|0)!=(b|0)){do{f=c+-4|0;k[e>>2]=f;c=k[f>>2]|0;k[f>>2]=0;if(c|0)Ra[k[(k[c>>2]|0)+4>>2]&127](c);c=k[e>>2]|0}while((c|0)!=(b|0));b=k[d>>2]|0}Fl(b);Fl(a);return}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=b+16|0;e=k[a>>2]|0;do if(e){if((e|0)!=(c|0)){d=b+36|0;k[d>>2]=(k[d>>2]|0)+1;k[b+24>>2]=2;i[b+54>>0]=1;break}a=b+24|0;if((k[a>>2]|0)==2)k[a>>2]=d}else{k[a>>2]=c;k[b+24>>2]=d;k[b+36>>2]=1}while(0);return}function uh(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a+68>>2]|0;c=b;if(b|0){d=a+72|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}e=a+64|0;b=k[e>>2]|0;k[e>>2]=0;if(b|0){c=k[b>>2]|0;if(c|0){d=b+4|0;if((k[d>>2]|0)!=(c|0))k[d>>2]=c;Fl(c)}Fl(b)}Fl(a);return}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ja(10319,10344,63,10358);d=k[a+80>>2]|0;if((((k[a+84>>2]|0)-d|0)/12|0|0)>(b|0)){d=d+(b*12|0)|0;Ae(c,d,d+12|0);return 1}else Ja(10363,10344,64,10358);return 0}function wh(a){a=a|0;var b=0,c=0;k[a>>2]=3616;b=k[a+76>>2]|0;if(b|0)Fl(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Dl(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Fl(c);return}function xh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;k[a>>2]=b;i=b+16|0;g=k[i+4>>2]|0;h=a+8|0;k[h>>2]=k[i>>2];k[h+4>>2]=g;h=b+24|0;g=k[h+4>>2]|0;b=a+16|0;k[b>>2]=k[h>>2];k[b+4>>2]=g;b=a+40|0;k[b>>2]=c;k[b+4>>2]=d;d=a+48|0;k[d>>2]=e;k[d+4>>2]=f;return}function yh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2912;b=k[a+80>>2]|0;c=b;if(b|0){d=a+84|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);Fl(b)}b=k[a+68>>2]|0;if(!b){lg(a);return}c=a+72|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);lg(a);return}function zh(a){a=a|0;var b=0,c=0;k[a>>2]=3680;c=a+36|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Dl(b);k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Fl(c);return}function Ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return Ea(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function Bh(a){a=a|0;var b=0,c=0;c=0;while(1){if((l[11683+c>>0]|0)==(a|0)){a=2;break}b=c+1|0;if((b|0)==87){b=11771;c=87;a=5;break}else c=b}if((a|0)==2)if(!c)b=11771;else{b=11771;a=5}if((a|0)==5)while(1){do{a=b;b=b+1|0}while((i[a>>0]|0)!=0);c=c+-1|0;if(!c)break;else a=5}return b|0}function Ch(a,b){a=a|0;b=b|0;switch(b<<24>>24){case 0:{a=bj(16)|0;Yj(a);break}case 1:{a=bj(32)|0;$i(a);break}case 2:{a=bj(44)|0;gj(a);break}case 3:{a=bj(36)|0;Qj(a);break}default:a=0}return a|0}function Dh(a){a=a|0;var b=0,c=0;k[a>>2]=3424;b=k[a+76>>2]|0;if(b|0)Fl(b);c=a+68|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Dl(b);k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;b=a+36|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Fl(c);return}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0;k[a>>2]=2976;d=a+8|0;b=k[d>>2]|0;if(!b)return;c=a+12|0;a=k[c>>2]|0;if((a|0)!=(b|0)){do{e=a+-4|0;k[c>>2]=e;a=k[e>>2]|0;k[e>>2]=0;if(a|0)Ra[k[(k[a>>2]|0)+4>>2]&127](a);a=k[c>>2]|0}while((a|0)!=(b|0));b=k[d>>2]|0}Fl(b);return}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jj(a,b,c)|0)){c=0;return c|0}b=k[b+4>>2]|0;if((c|0)<=-1)Ja(9535,9551,62,9579);a=k[b+4>>2]|0;if(((k[b+8>>2]|0)-a>>2|0)<=(c|0))Ja(9589,9551,63,9579);c=(k[(k[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Gh(a){a=a|0;var b=0,c=0,d=0;b=k[a+8>>2]|0;c=k[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+20|0;while(1){d=k[b>>2]|0;b=b+4|0;if(!(Xa[k[(k[d>>2]|0)+16>>2]&63](d,k[a>>2]|0)|0)){b=0;a=5;break}if((b|0)==(c|0)){b=1;a=5;break}}if((a|0)==5)return b|0;return 0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Ta[k[(k[a>>2]|0)+44>>2]&127](a)|0)){c=0;return c|0}c=Vc(a,b,c)|0;return c|0}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=l[a+12>>0]|0;d=a+8|0;b=k[d>>2]|0;if(b>>>0<4096){f=a+4|0;e=(k[f>>2]|0)+-1|0;k[f>>2]=e;b=l[(k[a>>2]|0)+e>>0]|0|b<<8;k[d>>2]=b}a=b&255;c=0-c&255;e=$(b>>>8,c)|0;f=a>>>0>>0;k[d>>2]=f?e+a|0:b-c-e|0;return f|0}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function Kh(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3116;d=a+28|0;b=k[d>>2]|0;k[d>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);d=k[a+16>>2]|0;if(!d){Fl(a);return}b=a+20|0;c=k[b>>2]|0;if((c|0)!=(d|0))k[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Fl(d);Fl(a);return}function Lh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Eg(0,b,c,d,e);else{a=k[a+8>>2]|0;Wa[k[(k[a>>2]|0)+20>>2]&3](a,b,c,d,e,f)}return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;k[a+4>>2]=b;d=k[b+4>>2]|0;if((c|0)<=-1)Ja(9535,9551,62,9579);b=k[d+4>>2]|0;if(((k[d+8>>2]|0)-b>>2|0)>(c|0)){k[a+8>>2]=k[b+(c<<2)>>2];k[a+12>>2]=c;return 1}else Ja(9589,9551,63,9579);return 0}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;k[a>>2]=0;c=a+4|0;k[c>>2]=0;k[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823)Kk(a);d=b<<2;e=bj(d)|0;k[a>>2]=e;b=e+(b<<2)|0;k[a+8>>2]=b;Jh(e|0,0,d|0)|0;k[c>>2]=b;return}function Oh(a){a=a|0;var b=0;Xi(a);Xi(a+40|0);b=a+80|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[b+16>>2]=0;k[b+20>>2]=0;k[b+24>>2]=0;k[b+28>>2]=0;nl(a+112|0);k[a+128>>2]=-1;k[a+132>>2]=-1;return}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;k[a+20>>2]=b;k[a+4>>2]=c;if(!(Ta[k[(k[a>>2]|0)+12>>2]&127](a)|0)){c=0;return c|0}if(!(Ta[k[(k[a>>2]|0)+20>>2]&127](a)|0)){c=0;return c|0}c=Ta[k[(k[a>>2]|0)+24>>2]&127](a)|0;return c|0}function Qh(a){a=a|0;var b=0,c=0,d=0,e=0;d=k[a>>2]|0;e=a+4|0;b=k[e>>2]|0;c=d;if((b|0)==(d|0))b=d;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;k[e>>2]=b}k[a+16>>2]=0;k[a+12>>2]=b;if(!d)return;if((b|0)!=(d|0))k[e>>2]=b+(~((b+-4-c|0)>>>2)<<2);Fl(d);return}function Rh(a){a=a|0;var b=0,c=0;k[a>>2]=3116;c=a+28|0;b=k[c>>2]|0;k[c>>2]=0;if(b|0)Ra[k[(k[b>>2]|0)+4>>2]&127](b);c=k[a+16>>2]|0;if(!c)return;b=a+20|0;a=k[b>>2]|0;if((a|0)!=(c|0))k[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Fl(c);return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((ck(Ga(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function Th(a,b){a=a|0;b=b|0;var c=0;pj(a);k[a>>2]=4240;c=a+24|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;c=k[b>>2]|0;k[b>>2]=0;k[a+48>>2]=c;return}function Uh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Hg(k[a+8>>2]|0,(k[b+4>>2]|0)-(k[b>>2]|0)>>2)|0)){c=0;return c|0}c=Pa[k[(k[a>>2]|0)+24>>2]&31](a,b,c)|0;return c|0}function Vh(a){a=a|0;if(!(k[a+36>>2]|0))return 0;if(!(k[a+20>>2]|0))return 0;if(!(k[a+24>>2]|0))return 0;if(!(k[a+28>>2]|0))return 0;else return (k[a+32>>2]|0)!=0|0;return 0}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))th(0,b,c,d);else{a=k[a+8>>2]|0;Ya[k[(k[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function Xh(a){a=a|0;var b=0,c=0;b=a+74|0;c=i[b>>0]|0;i[b>>0]=c+255|c;b=k[a>>2]|0;if(!(b&8)){k[a+8>>2]=0;k[a+4>>2]=0;c=k[a+44>>2]|0;k[a+28>>2]=c;k[a+20>>2]=c;k[a+16>>2]=c+(k[a+48>>2]|0);a=0}else{k[a>>2]=b|32;a=-1}return a|0}function Yh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i[a>>0]|0;d=i[b>>0]|0;if(c<<24>>24==0?1:c<<24>>24!=d<<24>>24)a=d;else{do{a=a+1|0;b=b+1|0;c=i[a>>0]|0;d=i[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));a=d}return (c&255)-(a&255)|0}function Zh(a){a=a|0;if(!(k[a+60>>2]|0))return 0;if(!(k[a+44>>2]|0))return 0;if(!(k[a+48>>2]|0))return 0;if(!(k[a+52>>2]|0))return 0;else return (k[a+56>>2]|0)!=0|0;return 0}function _h(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Vb(a,b,c);return}else{bc(a,0,0);return}}function $h(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=k[t>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ha()|0;za(12);return -1}k[t>>2]=a;if((a|0)>(ga()|0)?(fa()|0)==0:0){za(12);k[t>>2]=b;return -1}return b|0}function ai(a){a=a|0;if(!(k[a+20>>2]|0)){a=0;return a|0}if(!(k[a+24>>2]|0)){a=0;return a|0}if(!(k[a+28>>2]|0)){a=0;return a|0}a=(k[a+32>>2]|0)!=0;return a|0}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[e>>2]=0;k[d>>2]=k[e>>2];b=Eb(a,b,d)|0;r=c;return b|0}function ci(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=k[c>>2]|0;d=a;c=b-a>>2;while(1){if(!c)break;b=(c|0)/2|0;f=d+(b<<2)|0;a=(k[f>>2]|0)>>>0>>0;d=a?f+4|0:d;c=a?c+-1-b|0:b}return d|0}function di(a){a=a|0;var b=0,c=0;k[a>>2]=3984;b=k[a+52>>2]|0;if(b|0)Fl(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Fl(a);return}Dl(b);Fl(a);return}function ei(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;i[a+24>>0]=1;k[a+28>>2]=9;b=a+40|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[a+56>>2]=-1;j[a+60>>1]=0;return}function fi(a){a=a|0;if(!(k[a+44>>2]|0)){a=0;return a|0}if(!(k[a+48>>2]|0)){a=0;return a|0}if(!(k[a+52>>2]|0)){a=0;return a|0}a=(k[a+56>>2]|0)!=0;return a|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0;d=a;c=d+64|0;do{k[d>>2]=k[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));d=a+64|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;i[d+20>>0]=0;return}function hi(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jj(a,b,c)|0)){c=0;return c|0}a=k[a+8>>2]|0;if((i[a+24>>0]|0)!=3){c=0;return c|0}c=(k[a+28>>2]|0)==9;return c|0}function ii(a){a=a|0;var b=0,c=0;k[a>>2]=4176;b=k[a+52>>2]|0;if(b|0)Fl(b);c=a+44|0;b=k[c>>2]|0;k[c>>2]=0;if(!b){Fl(a);return}Dl(b);Fl(a);return}function ji(a,b){a=a|0;b=b|0;qe(a,b,2852);b=b*3|0;Pe(a+12|0,b,2848);Tg(a+24|0,b);return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=$(c,b)|0;if((k[d+76>>2]|0)>-1){f=(Jl(d)|0)==0;a=pg(a,e,d)|0;if(!f)Il(d)}else a=pg(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function li(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+56>>2]|0)-(k[d+52>>2]|0)>>2;i[c>>0]=0;qf(a+20|0,d,c);r=b;return}function mi(a){a=a|0;var b=0;k[a>>2]=3984;b=k[a+52>>2]|0;if(b|0)Fl(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Dl(a);return}function ni(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+36>>2]=b;b=1;return b|0}function oi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=3168;b=k[a+32>>2]|0;if(!b){Fl(a);return}c=a+36|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);Fl(a);return}function pi(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=k[a+4>>2]|0;d=(k[d+28>>2]|0)-(k[d+24>>2]|0)>>2;i[c>>0]=0;qf(a+20|0,d,c);r=b;return}function qi(a){a=a|0;switch(a|0){case 11:case 2:case 1:{a=1;break}case 4:case 3:{a=2;break}case 6:case 5:{a=4;break}case 8:case 7:{a=8;break}case 9:{a=4;break}case 10:{a=8;break}default:a=-1}return a|0}function ri(a,b){a=a|0;b=b|0;if(k[b+56>>2]|0){b=0;return b|0}if((i[b+24>>0]|0)!=3){b=0;return b|0}k[a+60>>2]=b;b=1;return b|0}function si(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 (M=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function ti(a){a=a|0;var b=0,c=0;i[a+36>>0]=0;c=Vj(k[a+32>>2]|0,0,7,0)|0;c=Aj(c|0,M|0,3)|0;a=a+16|0;b=a;b=Vj(c|0,M|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=M;return}function ui(a){a=a|0;var b=0;k[a>>2]=4176;b=k[a+52>>2]|0;if(b|0)Fl(b);b=a+44|0;a=k[b>>2]|0;k[b>>2]=0;if(!a)return;Dl(a);return}function vi(a){a=a|0;k[a>>2]=0;gf(a+8|0);hl(a+776|0);Mj(a+800|0);Mj(a+820|0);Mj(a+840|0);return}function wi(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>3){c=-1;return c|0}c=k[a+16+(b*12|0)>>2]|0;if(((k[a+16+(b*12|0)+4>>2]|0)-c|0)<=0){c=-1;return c|0}c=k[c>>2]|0;return c|0}function xi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((a|0)==(k[b+8>>2]|0))Eg(0,b,c,d,e);return}function yi(a){a=a|0;var b=0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;i[a+24>>0]=1;a=a+28|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else Ah(a,b,c)|0;return a|0}function Ai(a){a=a|0;k[a>>2]=0;Gf(a+8|0);nl(a+520|0);Mj(a+536|0);Mj(a+556|0);Mj(a+576|0);return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0;if(!a)return;b=k[a>>2]|0;c=b;if(b|0){d=a+4|0;e=k[d>>2]|0;if((e|0)!=(b|0))k[d>>2]=e+(~((e+-4-c|0)>>>2)<<2);Fl(b)}Fl(a);return}function Ci(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ja(9535,9551,54,9579);c=k[a+4>>2]|0;if(((k[a+8>>2]|0)-c>>2|0)>(b|0))return k[c+(b<<2)>>2]|0;else Ja(9589,9551,55,9579);return 0}function Di(a){a=a|0;var b=0,c=0;k[a>>2]=3168;c=k[a+32>>2]|0;if(!c)return;a=a+36|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Fl(c);return}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((b|0)>0)d=0;else return;do{e=k[a+(d<<2)>>2]|0;k[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Fi(a){a=a|0;var b=0,c=0,d=0;k[a>>2]=2948;b=k[a+4>>2]|0;if(!b){Fl(a);return}c=a+8|0;d=k[c>>2]|0;if((d|0)!=(b|0))k[c>>2]=d+(~((d+-4-b|0)>>>2)<<2);Fl(b);Fl(a);return}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+16|0;d=e;k[d>>2]=k[c>>2];a=Pa[k[(k[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)k[c>>2]=k[d>>2];r=e;return a&1|0}function Hi(){var a=0,b=0;a=Yi()|0;if((a|0?(b=k[a>>2]|0,b|0):0)?(a=b+48|0,(k[a>>2]&-256|0)==1126902528?(k[a+4>>2]|0)==1129074247:0):0)dk(k[b+12>>2]|0);dk(_k()|0)}function Ii(a){a=a|0;var b=0;b=i[w+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[w+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[w+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[w+(a>>>24)>>0]|0)+24|0}function Ji(a,b){a=a|0;b=b|0;var c=0;i[b+84>>0]=1;c=k[b+68>>2]|0;a=b+72|0;b=k[a>>2]|0;if((b|0)==(c|0))return 1;k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);return 1}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(k[b+8>>2]|0))th(0,b,c,d);return}function Li(a){a=a|0;var b=0,c=0;k[a>>2]=2948;c=k[a+4>>2]|0;if(!c)return;a=a+8|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Fl(c);return}function Mi(a){a=a|0;var b=0;k[a>>2]=4648;b=k[a+20>>2]|0;if(b|0)Fl(b);b=k[a+8>>2]|0;if(!b){Fl(a);return}Fl(b);Fl(a);return}function Ni(a){a=a|0;var b=0,c=0;c=k[a>>2]|0;if(!c)return;a=a+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-8-c|0)>>>3)<<3);Fl(c);return}function Oi(a){a=a|0;var b=0,c=0;c=k[a>>2]|0;if(!c)return;a=a+4|0;b=k[a>>2]|0;if((b|0)!=(c|0))k[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Fl(c);return}function Pi(a){a=a|0;k[a>>2]=0;Mj(a+8|0);Mj(a+28|0);Mj(a+48|0);Mj(a+68|0);return}function Qi(a){a=a|0;k[a>>2]=0;nl(a+8|0);Mj(a+24|0);Mj(a+44|0);Mj(a+64|0);return}function Ri(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Fl(b);b=k[a+8>>2]|0;if(!b){Fl(a);return}Fl(b);Fl(a);return}function Si(a,b){a=a|0;b=b|0;if(!b)return 0;else Ja(8010,8021,75,8101);return 0}function Ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;Jc(a,b,c,d,e)|0;r=f;return (M=k[e+4>>2]|0,k[e>>2]|0)|0}function Ui(a){a=a|0;var b=0;k[a>>2]=4648;b=k[a+20>>2]|0;if(b|0)Fl(b);a=k[a+8>>2]|0;if(!a)return;Fl(a);return}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xc(b,c,d)|0}function Wi(a){a=a|0;Fj(a);k[a>>2]=2912;a=a+68|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;return}function Xi(a){a=a|0;var b=0;k[a>>2]=0;b=a+8|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;Hk(a+24|0);i[a+36>>0]=0;return}function Yi(){var a=0,b=0;a=r;r=r+16|0;if(!(Ba(14872,3)|0)){b=ta(k[3719]|0)|0;r=a;return b|0}else wj(14035,a);return 0}function Zi(a){a=a|0;var b=0;k[a>>2]=4604;b=k[a+20>>2]|0;if(b|0)Fl(b);a=k[a+8>>2]|0;if(!a)return;Fl(a);return}function _i(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=si(e,f)|0;a=M;return (M=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function $i(a){a=a|0;Yj(a);k[a>>2]=3116;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function aj(a){a=a|0;ei(a);a=a+64|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;i[a+20>>0]=0;return}function bj(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0)break;a=Wk()|0;if(!a){a=0;break}Va[a&3]()}return a|0}function cj(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;k[a+20>>2]=0;k[a+24>>2]=0;k[a+28>>2]=0;return}function dj(a){a=a|0;var b=0;b=r;r=r+16|0;ub(a);if(!(ua(k[3719]|0,0)|0)){r=b;return}else wj(14134,b)}function ej(a,b,c){a=a|0;b=b|0;c=c|0;k[a>>2]=b;b=a+8|0;k[b>>2]=c;k[b+4>>2]=0;c=a+16|0;k[c>>2]=0;k[c+4>>2]=0;return}function fj(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;a=a+16|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;return}function gj(a){a=a|0;$i(a);k[a>>2]=3680;k[a+32>>2]=-1;k[a+36>>2]=0;o[a+40>>2]=0.0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;k[a+24>>2]=c;return Ph(a,b,c)|0}function ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Xe(b,c,d)|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return Mh(a,b,c)|0}function kj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=ck(Aa(6,c|0)|0)|0;r=b;return a|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return wi(b,c)|0}function mj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ((e|0)==2?0:e+1|0)|0}function nj(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oj(a){a=a|0;k[a>>2]=2976;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function pj(a){a=a|0;k[a>>2]=2948;a=a+4|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function qj(a){a=a|0;Yc(a);Fl(a);return}function rj(){var a=0;a=r;r=r+16|0;if(!(xa(14876,71)|0)){r=a;return}else wj(14084,a)}function sj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vh(b,c,d)|0}function tj(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;Wa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function uj(a){a=a|0;if(!(k[a+24>>2]|0))return 0;else return Ta[k[(k[a>>2]|0)+48>>2]&127](a)|0;return 0}function vj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b<>>32-c;return a<>2]=b;b=k[1178]|0;uf(b,a,c)|0;$g(10,b)|0;ya()}function xj(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Xa[k[(k[a>>2]|0)+16>>2]&63](a,b)|0}function yj(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Xa[k[(k[a>>2]|0)+12>>2]&63](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c)|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){M=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Bj(a,b){a=a|0;b=b|0;a=k[a+28>>2]|0;return Xa[k[(k[a>>2]|0)+20>>2]&63](a,b)|0}function Cj(a){a=a|0;ld(a);Fl(a);return}function Dj(){}function Ej(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 (M=d,a-c>>>0|0)|0}function Fj(a){a=a|0;var b=0;k[a>>2]=2876;a=a+4|0;b=a+64|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;k[a+16>>2]=b;k[a+20>>2]=c;return 1}function Hj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Qa[a&3](b|0,c|0,d|0,e|0,f|0)}function Ij(a){a=a|0;a=k[a+28>>2]|0;return Ta[k[(k[a>>2]|0)+28>>2]&127](a)|0}function Jj(a){a=a|0;a=k[a+28>>2]|0;return Ta[k[(k[a>>2]|0)+24>>2]&127](a)|0}function Kj(a,b){a=a|0;b=b|0;return _j(b)|0}function Lj(a,b){a=a|0;b=b|0;return Xa[k[(k[a>>2]|0)+48>>2]&63](a,b)|0}function Mj(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;k[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;k[a+4>>2]=b;return 1}function Oj(a){a=a|0;return 3}function Pj(a){a=a|0;a=k[a+28>>2]|0;return Ta[k[(k[a>>2]|0)+36>>2]&127](a)|0}function Qj(a){a=a|0;$i(a);k[a>>2]=3740;k[a+32>>2]=-1;return}function Rj(a,b){a=a|0;b=b|0;k[a+8>>2]=b;k[a+12>>2]=-1;return 1}function Sj(a,b){a=a|0;b=b|0;return Uj(a,b)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Ci(b,c)|0}function Uj(a,b){a=a|0;b=b|0;return ue(b)|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (M=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Wj(a,b){a=a|0;b=b|0;return fk(b)|0}function Xj(){var a=0;if(!(k[3582]|0))a=14372;else{a=(Nl()|0)+64|0;a=k[a>>2]|0}return a|0}function Yj(a){a=a|0;k[a>>2]=3080;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=-1;return}function Zj(a){a=a|0;k[a+12>>2]=0;k[a+16>>2]=0;k[a>>2]=0;o[a+4>>2]=0.0;return}function _j(a){a=a|0;return hd(a)|0}function $j(a){a=a|0;if(!a)return;Ra[k[(k[a>>2]|0)+4>>2]&127](a);return}function ak(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ya[a&3](b|0,c|0,d|0,e|0)}function bk(a){a=a|0;var b=0;b=a+60|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function ck(a){a=a|0;var b=0;if(a>>>0>4294963200){b=Xj()|0;k[b>>2]=0-a;a=-1}return a|0}function dk(a){a=a|0;var b=0;b=r;r=r+16|0;Va[a&3]();wj(14187,b)}function ek(a){a=a|0;if(!a)a=0;else a=(yf(a,696,768,0)|0)!=0;return a&1|0}function fk(a){a=a|0;return Ud(a)|0}function gk(a,b,c){a=a|0;b=+b;c=c|0;o[a+4>>2]=1.0/+(c|0);o[a>>2]=b;return}function hk(a){a=a|0;mg(a);Fl(a);return}function ik(a){a=a|0;ok(a);k[a>>2]=4472;k[a+28>>2]=0;return}function jk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Pa[a&31](b|0,c|0,d|0)|0}function kk(a,b,c){a=a|0;b=b|0;c=c|0;ej(a,b,c);return}function lk(a){a=a|0;if(!a)return;Il(a+24|0);Fl(a);return}function mk(){var a=0;a=bj(64)|0;ei(a);return a|0}function nk(a){a=a|0;return k[a+8>>2]|0}function ok(a){a=a|0;oj(a);k[a>>2]=3020;k[a+24>>2]=0;return}function pk(a){a=a|0;return i[(k[a+8>>2]|0)+24>>0]|0}function qk(a,b){a=a|0;b=b|0;return -1}function rk(a,b){a=a|0;b=b|0;return +(+vk(a,b))}function sk(a,b){a=a|0;b=b|0;return Ck(a,b)|0}function tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&7](b|0,c|0,d|0)}function uk(){var a=0;a=bj(88)|0;aj(a);return a|0}function vk(a,b){a=a|0;b=b|0;return +(+o[(k[a>>2]|0)+(b<<2)>>2])}function wk(a){a=a|0;return k[a+4>>2]|0}function xk(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function yk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Og(a,b,0)|0;return a|0}function zk(a){a=a|0;return ((k[a+84>>2]|0)-(k[a+80>>2]|0)|0)/12|0|0}function Ak(){var a=0;a=bj(12)|0;Hk(a);return a|0}function Bk(){var a=0;a=bj(40)|0;Xi(a);return a|0}function Ck(a,b){a=a|0;b=b|0;return k[(k[a>>2]|0)+(b<<2)>>2]|0}function Dk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(3);return 0}function Ek(a){a=a|0;pj(a);k[a>>2]=4384;return}function Fk(a){a=a|0;return (k[a+8>>2]|0)-(k[a+4>>2]|0)>>2|0}function Gk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jc(a,b,c,d,0)|0}function Hk(a){a=a|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;return}function Ik(){var a=0;a=bj(68)|0;Fj(a);return a|0}function Jk(a){a=a|0;Ja(13716,13598,315,13739)}function Kk(a){a=a|0;Ja(13575,13598,304,13695)}function Lk(a){a=a|0;ok(a);k[a>>2]=4412;return}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;return Xa[a&63](b|0,c|0)|0}function Nk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;da(7)}function Ok(){var a=0;a=bj(1)|0;Il(a);return a|0}function Pk(a){a=a|0;if(!a)return;Fl(a);return}function Qk(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Rk(){var a=0;a=bj(92)|0;Wi(a);return a|0}function Sk(a){a=a|0;return (i[a+32>>0]|0)!=0|0}function Tk(a){a=a|0;o[a>>2]=1.0;o[a+4>>2]=1.0;return}function Uk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(1)}function Vk(a){a=a|0;if(!(k[a+68>>2]|0))Il(a);return}function Wk(){var a=0;a=k[3720]|0;k[3720]=a+0;return a|0}function Xk(a){a=a|0;return i[a+24>>0]|0}function Yk(a){a=a|0;return m[a+60>>1]|0|0}function Zk(a){a=a|0;return k[a+56>>2]|0}function _k(){var a=0;a=k[1303]|0;k[1303]=a+0;return a|0}function $k(a){a=a|0;lg(a);Fl(a);return}function al(a){a=a|0;return 2}function bl(a,b){a=a|0;b=b|0;return 0}function cl(a){a=a|0;return k[a+40>>2]|0}function dl(a){a=a|0;return k[a+48>>2]|0}function el(a,b){a=a|0;b=b|0;return Ta[a&127](b|0)|0}function fl(a){a=a|0;return k[a+28>>2]|0}function gl(a){a=a|0;Da(a|0)|0;Hi()}function hl(a){a=a|0;p[a+16>>3]=.5;return}function il(a){a=a|0;return k[a+80>>2]|0}function jl(a,b){a=a|0;b=b|0;r=a;s=b}function kl(a){a=a|0;return k[a+64>>2]|0}function ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;da(9)}function ml(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function nl(a){a=a|0;i[a+12>>0]=0;return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;da(0);return 0}function pl(a){a=a|0;k[a>>2]=5308;return}function ql(a){a=a|0;return 1}function rl(a,b){a=+a;b=b|0;return +(+jh(a,b))}function sl(){return 3}function tl(a,b,c){a=a|0;b=b|0;c=c|0;da(5)}function ul(){return -1}function vl(){return 4}function wl(){return 1}function xl(){return 2}function yl(a,b){a=a|0;b=b|0;da(8);return 0}function zl(a){a=a|0;return 14227}function Al(a){a=a|0;Va[a&3]()}function Bl(){Ka()}function Cl(a){a=a|0;return bj(a)|0}function Dl(a){a=a|0;Fl(a);return}function El(a){a=a|0;r=a}function Fl(a){a=a|0;ub(a);return}function Gl(a){a=a|0;M=a}function Hl(a){a=a|0;da(4);return 0}function Il(a){a=a|0;return}function Jl(a){a=a|0;return 0}function Kl(){return M|0}function Ll(){return r|0}function Ml(a){a=a|0;da(2)}function Nl(){return 0}function Ol(){da(6)} - -// EMSCRIPTEN_END_FUNCS -var Pa=[ol,Gj,Mh,Uh,_f,jj,ef,Vc,Ag,Fh,Hh,hi,Lg,ah,Ne,Sh,Qg,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol,ol];var Qa=[Uk,Kg,cf,Uk];var Ra=[Ml,lg,$k,qb,yh,qh,Li,Fi,Eh,sh,sh,Il,Dl,Rh,Kh,Di,oi,oi,oi,oi,Dh,rh,oi,oi,wh,lh,zh,nh,Kh,Il,Dl,Dl,Dl,mi,di,Dl,Dl,ui,ii,mg,hk,sh,Il,Dl,sh,Fi,sh,_g,Xg,ld,Cj,kh,hh,Zi,Ri,pi,ih,fh,Ui,Mi,li,Yc,qj,Il,Dl,Il,Il,Dl,Il,Dl,Vk,dj,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml,Ml];var Sa=[Dk,dc,Pc,Db,Sb,wb,Ib,vc,ad,Gb,Ub,vb,Ab,uc,_c,Wg,Sg,xd,Md,ec,qc,$e,We,td,Ed,sc,Kc,df,bf,Dk,Dk,Dk];var Ta=[Hl,gh,Jl,ql,ql,Se,Gh,ql,ql,uj,Jl,pk,wk,Jl,Jl,ql,Jl,ql,ql,fi,al,fi,Oj,Zh,ql,ql,fi,al,fi,Oj,Zh,ql,te,al,Jl,wk,ql,Jl,ql,al,ql,ai,al,ai,Oj,Vh,ql,ql,ai,al,ai,Oj,Vh,ql,bh,wg,bh,yb,sf,Ij,Pj,Jj,fb,ql,wk,nk,jf,hf,eb,ql,wk,nk,kj,zl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl,Hl];var Ua=[tl,kf,Ie,tf,Fg,tl,tl,tl];var Va=[Ol,Bl,og,rj];var Wa=[Nk,xi,Lh,Nk];var Xa=[yl,Fc,bl,bl,Rj,dg,Mb,qk,bl,hg,Ze,Si,ri,Tc,Cd,Si,ri,Tc,Cd,Lj,Me,ag,qk,bl,hg,rf,Si,ni,Sc,Nd,Si,ni,Sc,Nd,ie,Le,Ch,mf,Ji,qg,lb,mf,Bj,yj,xj,Nj,yg,Bg,xb,ee,ke,Nj,yg,Bg,xb,yl,yl,yl,yl,yl,yl,yl,yl,yl];var Ya=[ll,Ki,Wh,ll];return{_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1:Wj,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Bk,_bitshift64Shl:vj,_emscripten_bind_Mesh___destroy___0:$j,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Ak,_llvm_cttz_i32:Ii,_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1:Sj,_emscripten_bind_PointAttribute_byte_offset_0:dl,___udivdi3:Gk,_emscripten_bind_PointAttribute_normalized_0:Sk,_bitshift64Lshr:Aj,_i64Subtract:Ej,___udivmoddi4:Jc,_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3:ij,_i64Add:Vj,_malloc:$a,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:wl,___cxa_is_pointer_type:ek,_emscripten_bind_PointAttribute_size_0:il,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:xl,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Nl,_emscripten_bind_VoidPtr___destroy___0:Pk,_memset:Jh,_emscripten_bind_PointAttribute_attribute_type_0:Zk,_sbrk:$h,_emscripten_bind_DecoderBuffer_Init_2:kk,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:wl,_emscripten_bind_DecoderBuffer___destroy___0:lk,_emscripten_bind_PointAttribute_custom_id_0:Yk,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:ul,_emscripten_bind_DracoInt32Array___destroy___0:Bi,_emscripten_bind_Mesh_num_points_0:kl,___uremdi3:Ti,_emscripten_bind_Mesh_Mesh_0:Rk,_emscripten_bind_WebIDLWrapper_GetAttribute_2:Tj,_emscripten_bind_PointAttribute_components_count_0:Xk,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Nl,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:sl,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:vl,_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3:sj,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Ak,_pthread_self:Nl,_emscripten_bind_PointAttribute_data_type_0:fl,_emscripten_bind_Mesh_num_attributes_0:Fk,_emscripten_bind_DracoFloat32Array_GetValue_1:rk,_emscripten_bind_DracoFloat32Array___destroy___0:Bi,_emscripten_bind_PointCloud_num_points_0:kl,_emscripten_bind_PointCloud___destroy___0:$j,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:mk,___muldsi3:si,_emscripten_bind_PointAttribute_PointAttribute_0:uk,_free:ub,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:ul,_emscripten_bind_GeometryAttribute___destroy___0:Pk,_emscripten_bind_Mesh_num_faces_0:zk,_emscripten_bind_DracoInt32Array_GetValue_1:sk,_emscripten_bind_PointAttribute_byte_stride_0:cl,_emscripten_bind_WebIDLWrapper_GetAttributeId_2:zj,_memcpy:Ah,_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0:Ok,_memmove:zi,___muldi3:_i,_emscripten_bind_PointCloud_num_attributes_0:Fk,_emscripten_bind_WebIDLWrapper___destroy___0:Pk,_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1:Kj,_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3:Vi,_emscripten_bind_PointCloud_PointCloud_0:Ik,_emscripten_bind_PointAttribute___destroy___0:uh,___cxa_can_catch:Gi,runPostSets:Dj,_emscripten_replace_memory:Oa,stackAlloc:xk,stackSave:Ll,stackRestore:El,establishStackSpace:jl,setThrew:Qk,setTempRet0:Gl,getTempRet0:Kl,dynCall_iiii:jk,dynCall_viiiii:Hj,dynCall_vi:ml,dynCall_iiiiiii:nj,dynCall_ii:el,dynCall_viii:tk,dynCall_v:Al,dynCall_viiiiii:tj,dynCall_iii:Mk,dynCall_viiii:ak}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodeMeshFromBuffer_1"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_PointCloud___destroy___0=Module["_emscripten_bind_PointCloud___destroy___0"]=asm["_emscripten_bind_PointCloud___destroy___0"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1=Module["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"]=asm["_emscripten_bind_WebIDLWrapper_GetEncodedGeometryType_1"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1=Module["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"]=asm["_emscripten_bind_WebIDLWrapper_DecodePointCloudFromBuffer_1"];var _emscripten_bind_PointAttribute_normalized_0=Module["_emscripten_bind_PointAttribute_normalized_0"]=asm["_emscripten_bind_PointAttribute_normalized_0"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloat_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloat_3"];var _emscripten_bind_WebIDLWrapper_GetAttributeId_2=Module["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeId_2"];var _emscripten_bind_WebIDLWrapper___destroy___0=Module["_emscripten_bind_WebIDLWrapper___destroy___0"]=asm["_emscripten_bind_WebIDLWrapper___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_PointAttribute_custom_id_0=Module["_emscripten_bind_PointAttribute_custom_id_0"]=asm["_emscripten_bind_PointAttribute_custom_id_0"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_WebIDLWrapper_GetAttribute_2=Module["_emscripten_bind_WebIDLWrapper_GetAttribute_2"]=asm["_emscripten_bind_WebIDLWrapper_GetAttribute_2"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var _emscripten_bind_PointAttribute_components_count_0=Module["_emscripten_bind_PointAttribute_components_count_0"]=asm["_emscripten_bind_PointAttribute_components_count_0"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _pthread_self=Module["_pthread_self"]=asm["_pthread_self"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3=Module["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"]=asm["_emscripten_bind_WebIDLWrapper_GetFaceFromMesh_3"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var _free=Module["_free"]=asm["_free"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=Module["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"]=asm["_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_WebIDLWrapper_WebIDLWrapper_0=Module["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"]=asm["_emscripten_bind_WebIDLWrapper_WebIDLWrapper_0"];var _memmove=Module["_memmove"]=asm["_memmove"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=Module["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_WebIDLWrapper_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=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;i0){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();function isVersionSupported(versionString){if(typeof versionString!=="string")return false;const version=versionString.split(".");if(version.length<2||version.length>3)return false;if(version[0]>0||version[1]>9)return false;return true}Module["isVersionSupported"]=isVersionSupported;function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:(function(){if(this.needed){for(var i=0;i=this.size){assert(len>0);this.needed+=len;ret=Module["_malloc"](len);this.temps.push(ret)}else{ret=this.buffer+this.pos;this.pos+=len}return ret}),copy:(function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;iDRACO loader - - + +